News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

X-MASS, a mass-storage expansion for all CPC.

Started by TotO, 18:32, 14 December 14

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

TFM

Quote from: TotO on 08:41, 26 July 15
Q: Is X-MASS have a mechanism to boot up after reset?
A: It should be possible with something like an AUTOBOOT file. We think about it.

Q: Is it any emulator can pretend this hardware?
A: Any emulators who support IDE drives on CPC with SymbOS/BDOS compatilbe ports

Q: Is anyone already working on some kind Video Player/Converter for CPC?
A: I don't know. I watch video on my PC to not kill my eyes.


My 3 Pfennige: ...
- To enable something like an automatic boot one could do his own ROM and just use the functions provided by ACMEDOS or Floppy-Disc-DOS. Which would be basically something like to look for a file on connected media and run them. But honestly such solutions are kind of bugging, since such a ROM will _always_ do that. Which get's tedious when you f.e. intend just to fire up a game.


- WinApe for example can simulate (parts) of it.IMHO it's kind of misleading to say 'SymbOS/BDOS compatilbe ports'. IMHO it would be more clear to say: Anything which can emulate ports and I/O similar to the CPC-IDE or SF2 expansion cards. The reasoning is that neither symbos nor bdos use all feature of the simulated IDE ports. WinApe still lacks to emulate for example bit 6 of the status register correctly. But I'm sure this will be fine after the next update.  :)


- Video Players: You can use the one for symbos for exmple. But basically everything dealing with files should work.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

#201
Quote from: ZbyniuR on 00:55, 26 July 15
About answer 5 - Sorry but 4 colors in small window it's not interesting for me. I thought rather about something like this:

Amstrad CPC playing a scene from the movie "Elvira - Mistress of the dark" -   ... but with sound of course. ;)


Well, FutureOS can do this:

Captain Future on Amstrad CPC with 4 MB RAM expansion - YouTube


The Elvira video would be desirable to be on CPC and X-MASS too. Give it some time. That may be doable too.




Of course 8 fps is not the maximum the CPC can do. Full screen (full 16 KB) with way more than 8 fps was done a long time ago. Of course this uses compression, here an example:


! No longer available
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

CraigsBar

Hmm, Full Screen in Monochrome, albeit at a very high frame rate is not more than 4 colours windowed.


OH This is a z80 so I think we all know decoding DivX is not gonna work, but based on the OP the goal is video display with sound from a X-Mass. Until FutureOS supports Mass the IDE Devices od the X-Mass and Symbiface it's not gonna help anyway even in silence and monochrome.


For the record (And before any offence is taken) I still think both FutureOS and SymbOS do an incredible job of video, but in a different way, Neither of which provide the request of the OP.

IRC:  #Retro4All on Freenode

Prodatron

#203
Receiving a stream from an I/O based mass storage device is a little bit slower than copying data from RAM to RAM. The last one is limited by the amount of available memory (and has to be filled first before playing anything):
With 4MB you have about 20 seconds, with the standard maximum of 64+512K ram you have about 2,5 seconds.

"Compression" using PUSH commands is faster for simple objects with repeating patterns (was the "All in 3D" demo part by Overflow the first one with this methode?), but not realistic for videos using the full display area, dithering and multiple colours.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

TFM

Quote from: CraigsBar on 19:33, 27 July 15
Hmm, Full Screen in Monochrome, albeit at a very high frame rate is not more than 4 colours windowed.


It doesn't matter if MODE 0, 1 or 2. The examples are made in the way, because the conversion result was the best that way (ok, let's say the other ways just looked even worse.  :laugh:  And youtube also makes pictures more ugly). However 16 KB is 16 KB doesn't matter which mode. I will provide a nice streamed MODE 0 example as soon as I got a decent looking. Maybe I can take the Elvira movie from Markus. We'll see.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

#205
Quote from: Prodatron on 20:05, 27 July 15
Receiving a stream from an I/O based mass storage device is a little bit slower than copying data from RAM to RAM. The last one is limited by the amount of available memory ...

Guess we agree, that the main saver in time is a decent algorithm for compression. Of course for the CPC we need something else than DivX, because the CPC's screen layout is different, the Z80 performs 8 bit ADD's more quick than 16 bit and the CPC doesn't use true color.  ;)
With my FilmeMacher / MovieMaker compression works in a way that the difference between two pictures gets converted into a 'small' and quick executable program which changes the screen in a way that it becomes the next frame. This saves lots of time and especially space. I used PUSH commands. But today I wouldn't use it again. Cyber Chicken uses similar technique, but more simplified.
It would be nice to have a player for bigger movies. I just don't know if other projects aren't more fun!  ;D
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Prodatron

#206
I think this is fine for simplified videos. IIRC back in 2004 we made several tests with 4 and 16 colour videos including compressions with SymbOS/SymStudio. Because of the dithering it was more or less impossible to make them faster either with any compression or with a frame-by-frame difference algorythm. In the latter case it was a problem of too many different starting addresses for the "difference" data.
Does the Captain Future video you showed some posts above contains your compressions? As it's a SymStudio converted video, it would be already quite realistic for such a case.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

TFM

No, CF is not compressed vs DarthVader's Ship (compressed). I agree, with dithering the background one will face a massive break in speed. Also a lot of cuts (this is what makes movies enjoyable) we got the same problem. On the other hand: Let's say you want to make a game or demo or what ever, if you choose your raw material already with keeping in mind that it shall run on CPC it will be fine. Also you got a point about the way things get converted from PC to CPC, that's a major issue. I remember I did one example (it's even more ugly, so no link here), which was made on CPC (using OCP), it has no problem to run at 50 fps (compressed of course). So if we keep in mind what we do then IMHO compression is a bargain in time.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

ZbyniuR

Did you see how Commodore was doing with playing video?

C64 with Ultimate loads REU files from SD card to 16MB ramdisk, it's enought for about 3 minutes, but sound is normal SID music not digital. It looks like 320x200 with 16 colors with attributes of 2 colors in the 8x1. I guess.
Here are two hours of such videos.

C64 Nuvie-Videos (103 -2 .reu files) - YouTube

C+4 reading direct from a CF card and play. It looks like MODE 0 with palette of 121 colors, and attributes, I supposed 4 colors in 4x8. And digitized sound. I don't know what a miracle it happened here, but it looks great.

Evo Lution (rc1) - YouTube


In STARS, TREK is better than WARS.

MacDeath

#209
HQ video playback on a C64 | MOS 6502

Basically they pulls a massive bank switching thing on C64 ?

! No longer available

! No longer available



anyway, just to have decent smooth 160x100 videos in Mode1 should be fine... ;D
so 100p we meet again ?


oh 240p I meet you again...
notice the irony in her name.

Prodatron

The REU of the C64 doesn't provide bankswitching, but a very fast DMA transfer to and from the 64K memory. The speed is about 1MB/s!
A C64 screen is 8KB, that means, a 16MB REU could store 2048 uncompressed screens, which is about 82 seconds at 25fps. Because of the fast DMA they can even implement some advanced compression and still have a very high framerate and time left for sound.
The Commodore Plus4 demo was made with a special hardware expansion, which did everything by itself.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

robcfg

The only way to reduce bandwidth would be to redefine the character set and compress images using that charset along with palette changes.

Quality wouldn't be marvelous but may be worth trying.

ZbyniuR

Yes, you right about C+4 and DMA transfer in C64.

About REU, I don't know how much FPS there is, but it's look for me like 320x200, so in 8KB mean black & white without attribute what look more like this on ZX Spectrum with DivIDE:

Streaming video on a Sinclair Spectrum - YouTube

Normal called hires on C64 have 1KB attributes, 2 colors for each 8x8,
what should look similar like this ZX again:

Spectrum 128K +2 playing movies - YouTube

But in REU look more like 8x1 or least 8x2. So there is rather 16 or least 12KB on frame.

PS.: This second film with ZX in some moments remind me ANSI anim on PC, made by color characters like robcfg says.
In STARS, TREK is better than WARS.

Prodatron

Quote from: ZbyniuR on 14:36, 28 July 15
About REU, I don't know how much FPS there is, but it's look for me like 320x200, so in 8KB mean black & white without attribute what look more like this on ZX Spectrum with DivIDE:

Streaming video on a Sinclair Spectrum - YouTube
This isn't DivIDE but seems to be the Spectranet (W5100) ethernet card. It only loads the 6144 bitmap for each frame without changing attribute colours. Btw, there seems to be a bug in the source code, which should cause a stack pointer crash   ;D (see "jr z,.startscreen").
It's quite impressive how fast it loads from the Wiznet.

Quote from: ZbyniuR on 14:36, 28 July 15what should look similar like this ZX again:

Spectrum 128K +2 playing movies - YouTube
This is using the DivIDE and changes the attribute colours for each frame as well (so it's loading 6912 bytes/frame + digisound). This really looks cool for a Spectrum, even with this ugly colour clash sometimes. The sound seems to be lower than 11KHz.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

KaosOverride

What about painting only even lines (scanline efect) to reduce screen bandwitdh? We lose vertical definition but it can be visually cool
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Munchausen

For audio, why not connect something like the VS1011 SPI MP3 decoder to the minibooster SPI socket?

This should increase audio quality and/or reduce required audio bandwidth.

Prodatron

#216
Soon we need multiple miniboosters connected at the same time (Mouse, Bluetooth, Ethernet, MP3, ...) :D

Quote from: KaosOverride on 21:48, 28 July 15
What about painting only even lines (scanline efect) to reduce screen bandwitdh? We lose vertical definition but it can be visually cool
Absolutely! 160x100x16 at 15fps + digisound should be cool :)

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

TotO

If you think about connecting a mp3 chip, why not connecting a mpeg chip instead?  :-\
In both cases, it is no more CPC related... Better to watch video on your PC and not waste time with that.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Munchausen

#218
Quote from: TotO on 12:42, 29 July 15
If you think about connecting a mp3 chip, why not connecting a mpeg chip instead?  :-\
In both cases, it is no more CPC related... Better to watch video on your PC and not waste time with that.

For an mpeg chip I agree, since you'd really also need a separate video interface that can handle the bandwidth.

For mp3 it is just a peripheral like any other. It isn't much different than using the PWM on the minibooster, or the AY in the PlayCity, it is not as though it contains a whole other computer/micro processor (like a minibooster does), though in this case it would need the minibooster to work, but you could connect an mp3 decoder somewhere else to avoid that.

You can really make this argument for _anything_ extra connected to the CPC.

TFM

Quote from: Munchausen on 16:56, 29 July 15
For an mpeg chip I agree, since you'd really also need a separate video interface that can handle the bandwidth.

For mp3 it is just a peripheral like any other. It isn't much different than using the PWM on the minibooster, or the AY in the PlayCity, it is not as though it contains a whole other computer/micro processor (like a minibooster does), though in this case it would need the minibooster to work, but you could connect an mp3 decoder somewhere else to avoid that.

You can really make this argument for _anything_ extra connected to the CPC.


That's a hard discussion, where does it start to be not CPC any longer? New sound card? New Video card? New CPU? or already more memory? Is having more than 64 KB already a sin or does the true sin require a new CPU? Well, I don't dare to join this discussion.


But MP3 is a good idea somehow, since it allows compression. So sound can be stored in a more space saving way than f.e. samples for the DigiBlaster.
You can take a look at the FuturePlayer, which makes it simple for the CPC. It's connected to the printer port and you just have to send data there. That's it. I would love to see this for the CPC as common sound card, but I'm Dr. Software not Dr. Hardware.  :laugh:   ;)   :) :) :)
And btw. X-MASS would be the ideal storage medium!
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Prodatron

#220
Quote from: Munchausen on 16:56, 29 July 15You can really make this argument for _anything_ extra connected to the CPC.
As usual I completely agree. It's the old discussion. It's cool to have the challenge to get as much as possible out of a limited system. This is one of the reasons why we are all here in the retro and not in the PC modding scene (the other ones are probably the nostalgic feeling, or the fact that you are able to understand every single bit of your machine compared to modern computers).
But I also like expandable systems much more than static ones. This includes all kind of I/O, mass storage and memory. As long as the base architecture (CPU, bus, maybe also the speed) stays the same, it's not a different system for me. Just have a look at the MSX, the best example for an expandable 8bit system. I wonder why expansions, which do not change the base architecture, are bad and would turn the system into another computer?
As a programmer it's cool to have access to new hardware possibilities like USB, IDE, SD card, ethernet, MP3 etc. These are only attached expansions, but your program is still running on a Z80 with low speed and limited 64K addressing.
IMHO for new software projects it's much more interesting to support real new hardware than attaching "hardware emulators" like the HxC to the CPC.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

TFM

Support of existing hardware is indeed important. And i thought about this already in the 80ies. The problem was that all expansions come with their own software, but they don't work _ALL_ together. Ok, for example products from Vortex, Dobbertin or dk'tronics were compatible to each other, but it was had to mix them, sometime impossible. This situation was one main reason which made me developing FutureOS, because I wanted one system to be able to run with everything (this goal was reached in part, for most main expansions). What I try to say is that new expansions should be created with the whole CPC system in mind. TotO does this very well. And the X-MEM and X-MASS are great examples for that. However where do you draw the line? What is 'base architecture' anyway. If it would be a PC then literally everything can be replaced, right? There a are a lot of things I like at the CPC, one is that it is clearly defined? Video, Sound, CPU, memory mapping, printing, disc handling (FDC, not HD) and other things are clearly defined. So a program can rely on running on a pretty well defined system / unlike CP/M or Windows.


Prodatron mentioned a couple of 'characters' or kinds of CPC users. I guess is is right at least for some. However I have different reasons for using the CPC. My point is, that our reasons are so different as we are as persons. Our duty now it to find agreements and be productive.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Joseman

A MP3 expansion card for CPC... who in this world can't want this so badly!!!!

As @Prodatron said, while the CPU, BUS & system clocks stay the same that the original CPC, it always will be a real CPC, the rest are expansions working in our beloved CPC, the heart is the same!.

You can use or not the expansions, you can choose, but you can't limit the expansion bus of the CPC, because the CPC is a real computer, and a real computer can be expanded (the PC is a good example), limit the number of expansions for the CPC is a non sense idea, because of the nature of the CPC itself (a real computer)





TotO

Quote from: Munchausen on 16:56, 29 July 15For mp3 it is just a peripheral like any other. It isn't much different than using the PWM on the minibooster, or the AY in the PlayCity
I totaly disagree.
The PWM pins on the MiniBooster are not dedicated to sound. You should use them for many purposes that existed in 80's.
The same with the PlayCity, that is just 6ch AY to be able to play music and sfx like in 80s, but at the same time.
A mp3 board on a 8bit computer is just an anachronic geek feature ; No more, no less...
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Bryce

My definition is easy. The Z80 is the core. As long as the expansion is just enhancing the capabilities of the Z80, ie: The Z80 is still the core of the system, doing the majority of the computing, using the internal RAM and just pushing data to a chip / device that makes use of it, then it's fine. As soon as the CPC becomes just a keyboard/media extension to an external core, then it's "out of bounds" for me. There are expansions for other 8-bit systems that seriously cross this border, the 8-bit computer is literally just a keyboard for an almost stand-alone system. This isn't pushing the boundaries of the 8-bit computer, it's demoting it to an input device.

Bryce.

Powered by SMFPacks Menu Editor Mod