News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_abalore

AMSTEAM: WIP game streaming service for the Amstrad CPC

Started by abalore, 13:56, 09 March 24

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

abalore


abalore

New board for AMSTEAM: Cartridge emulator

Thanks to the board, now cartridges up to 512Kbytes can be downloaded and run from Internet.




abalore

Of course, when connected from a Plus computer, it plays perfectly Plus only cartridges: Robocop 2, Pang, etc. Or can even restart the computer with alternate operating systems.

ComSoft6128

So would it be possible to have FutureOS or SymbOS (both?) on one cart?

abalore

Quote from: ComSoft6128 on 18:41, 05 June 24So would it be possible to have FutureOS or SymbOS (both?) on one cart?

Everything you can put into a cartridge can be uploaded to AMSTEAM server and run from Internet. Actually I don't know if those systems have cartridge versions, but if they have, sure they can be run.

abalore

The specific advantage of being able to run cartridges is that there are many conversions from DSK to cartridge, that can also be run. If the conversion doesn't exists, it can be quickly done with NoCart, so virtually any disk game can be run from Amsteam. Maybe at some point I can add the conversion automatically to the server so a whole DSK library can be imported.

eto

Quote from: abalore on 16:31, 05 June 24Thanks to the board, now cartridges up to 512Kbytes can be downloaded and run from Internet.
But that won't work with the previous board?

Will it be required to have the new version to access Amsteam in the future or will it be possible to only see the DSK images?

abalore

Quote from: eto on 07:49, 06 June 24
Quote from: abalore on 16:31, 05 June 24Thanks to the board, now cartridges up to 512Kbytes can be downloaded and run from Internet.
But that won't work with the previous board?

Will it be required to have the new version to access Amsteam in the future or will it be possible to only see the DSK images?
Sorry, what previous board? Currently, AMSTEAM has 3 boards:

- SPI interface, with WiFi or Ethernet module. Needed to connect to Internet. M4 or others may be compatible in the future if I manage to put my hands on any of them.

- ROM Box, in 8 or 32 slot versions. Needed to store the AMSTEAM ROM (optionally custom boot and/or other ROMs). This is not required if you already have a M4, a X-MEM or whatever other card capable of storing a ROM.

- Cartridge emulator, 512K volatile storage based on RAM. Needed to download and play large games like cartridges or DSK images. This is not required if you already have a Play2CPC, but it will probably require a firmware update. The Play2CPC firmware update is done with a cheap JTAG cable. If the board programming if out of your reach, you can always send the board to me or someone near your location.

Other board in progress:

- Extra sound channel board. Needed for certain games to have more sound channels. Not required if you already have a Play2CPC or PlayCity board.

My final goal is to put these small four boards together into a MX4 mother board and put an enclosure around to make an "Amsteam Box", with all the required stuff to instantly play all the available Amstrad software from a server.

eto

Ah, got it... I didn't realize this is an add-on.

Does the Play2CPC already have that RAM built-in or do I need a special cartridge for this?

abalore

Quote from: eto on 10:58, 06 June 24Ah, got it... I didn't realize this is an add-on.

Does the Play2CPC already have that RAM built-in or do I need a special cartridge for this?

The Play2CPC has 512K of RAM embedded, yes. It's not being used in any project yet, the main intended usage for this memory is to have compressed data in the cartridge and uncompress there, so allowing even bigger games. But using it to download and play big games from Amsteam looks like a nice usage too.

GUNHED

Quote from: abalore on 18:43, 05 June 24
Quote from: ComSoft6128 on 18:41, 05 June 24So would it be possible to have FutureOS or SymbOS (both?) on one cart?

Everything you can put into a cartridge can be uploaded to AMSTEAM server and run from Internet. Actually I don't know if those systems have cartridge versions, but if they have, sure they can be run.
Yes, there are version of FutureOS for CPC6128 and 6128plus on Cartridge. They do include some XROM with applications, tools and wallpapers.

You can select your OS language from English, French, German and Spanish (in alphabetical order).

Also everybody can contact TFM and get a personalized CPR file.  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

abalore

Quote from: GUNHED on 11:47, 06 June 24
Quote from: abalore on 18:43, 05 June 24
Quote from: ComSoft6128 on 18:41, 05 June 24So would it be possible to have FutureOS or SymbOS (both?) on one cart?

Everything you can put into a cartridge can be uploaded to AMSTEAM server and run from Internet. Actually I don't know if those systems have cartridge versions, but if they have, sure they can be run.
Yes, there are version of FutureOS for CPC6128 and 6128plus on Cartridge. They do include some XROM with applications, tools and wallpapers.

You can select your OS language from English, French, German and Spanish (in alphabetical order).

Also everybody can contact TFM and get a personalized CPR file.  :) :) :)

Tested:


GUNHED

WoW! Great to see!!!  :) :) :) :) :) :) :)
Thanks for showing!!!  :) :) :) :) :) :) :)

btw: A and B are drives A and B. But E, F, G and H are the four drives of the Vortex Controller..
btw2: Looks like that the OS recognizes an RTC which is not there, or the configurations bits have been set to "RTC xyz is there".
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

abalore

Quote from: GUNHED on 16:37, 09 June 24WoW! Great to see!!!  :) :) :) :) :) :) :)
Thanks for showing!!!  :) :) :) :) :) :) :)

btw: A and B are drives A and B. But E, F, G and H are the four drives of the Vortex Controller..
btw2: Looks like that the OS recognizes an RTC which is not there, or the configurations bits have been set to "RTC xyz is there".
If you show me the code for detecting the RTC and Vortex I can check if it's detecting something in the SPI card or the cartridge emulator

The SPI card is in the ports FBDF and FBDE

abalore


abalore

I created a new CPC Wiki page for the ROMBox, with instructions and software to download:

https://www.cpcwiki.eu/index.php/Amsteam_ROMBox


GUNHED

Quote from: abalore on 16:55, 09 June 24
Quote from: GUNHED on 16:37, 09 June 24WoW! Great to see!!!  :) :) :) :) :) :) :)
Thanks for showing!!!  :) :) :) :) :) :) :)

btw: A and B are drives A and B. But E, F, G and H are the four drives of the Vortex Controller..
btw2: Looks like that the OS recognizes an RTC which is not there, or the configurations bits have been set to "RTC xyz is there".
If you show me the code for detecting the RTC and Vortex I can check if it's detecting something in the SPI card or the cartridge emulator

The SPI card is in the ports FBDF and FBDE
Thanks. I'll check the addresses. From memory FutureOS supports the following RTCs: Dobbertin / dxs clone, SF2, SF3, Nova, LambdaSpeak and M4.
EDIT: LambdaSpeak RTC works via &FBEE, maybe there's an interferences. Need to look at that.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

GUNHED

http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

abalore

Quote from: GUNHED on 17:02, 17 June 24
Quote from: abalore on 16:55, 09 June 24The SPI card is in the ports FBDF and FBDE
Are they fully decoded?

No, I check for A10 = A5 = 0

and then

A0 = 0 (Data register) or A0 = 1 (Control register)

More info:

When reading control register:  1010RRRI   where 1010 is the magic code to detect card, RRR is reserved and I is the value read in SPI INT pin

When writing control register:   RRRRRRRC.    where R is reserved and C is the value to be set in SPI CS pin

When writing or reading to data register: A full byte is sent to or read from SPI, deserialised or serialised within the Z80 instruction with a high frequency clock.

GUNHED

Thanks for the information, the partial decoding interferes with quite some other expansions sadly. Not a problem as long as AMSTEAM is used alone though.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

abalore

Quote from: GUNHED on 21:11, 18 June 24Thanks for the information, the partial decoding interferes with quite some other expansions sadly. Not a problem as long as AMSTEAM is used alone though.
It uses the address for Amstrad serial port interface and other third-party serial ports, since it's a serial port itself.

Anyway, the decoding is done so the four Amsteam peripherals can work together. If you have the four of them it's unlikely you'll have free slots for more :)

If there is a particular peripheral you want to share the bus with the SPI card, you can give me details and maybe I can add more lines for decoding .

By the way, if you need UARTS the Wifi module has a connector for two UARTS accesible from the CPC by AT commands. One of the UARTS support hardware flow control and the other is software only.

These pins can also be configured for GPIO if UARTS are not used

GUNHED

Well, I can just post one of my documents here, there you can see which problems may occur due to interferences...
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

abalore

It seems the only device that 100% interferes is the Usifac, which uses exactly the same decoding. In this case you can detect if the device is the AMSTEAM SPI card by reading the magic value from the control register.

To not collide with Usifac II, Amstrad Serial Interface and Speak & SID, AMSTEAM SPI can be used with ports &FB00, &FB01 or any other combination that doesn't fill the rest of '1' in C.

In short: Using ports &FB00 and &FB01 you only need to check for the magic value to check if it is AMSTEAM SPI or Usifac.

All these devices respond to &FBDE / &FBDF:

%xxxx x0xx xx0x xxx0 = &FBDE - AMSTEAM SPI card  / Dekodiert: A10 = A5 = 0 und
%xxxx x0xx xx0x xxx1 = &FBDF - AMSTEAM SPI card /  A0 = 0 -> Datenregister oder A0 = 1 -> Kontrollregister
%xxxx x0xx xx0x xxx0 = &FBDE - USIfAC Data Port    / Teil-Dekodierung durch Bit 5 = 0 und Bit 10 = 0
%xxxx x0xx xx0x xxx1 = &FBDF - USIfAC Control Port /  Registerauswahl durch Bit 0 - siehe zuvor!
%1111 1011 1101 1110 = &FBDE - USIfAC II get USB mode state (1=enabled, 0=disabled)   /
%1111 1011 1101 1111 = &FBDF - USIfAC II get FDC emulation state (1=enabled, 0=disabled) /
%xxxx x0x1 1101 1110 = &FBDE - Amstrad Serielles Interface, 8253 Counter 2    /
%xxxx x0x1 1101 1111 = &FBDF - Amstrad Serielles Interface, 8253 Write Modus /
%1111 1011 1101 1110 = &FBDE - Speak & SID - status port


These devices respond to &FB00 / &FB01:

%xxxx x0xx xx0x xxx0 = &FB00 - AMSTEAM SPI card  / Dekodiert: A10 = A5 = 0 und
%xxxx x0xx xx0x xxx1 = &FB01 - AMSTEAM SPI card /  A0 = 0 -> Datenregister oder A0 = 1 -> Kontrollregister
%xxxx x0xx xx0x xxx0 = &FB00 - USIfAC Data Port    / Teil-Dekodierung durch Bit 5 = 0 und Bit 10 = 0
%xxxx x0xx xx0x xxx1 = &FB01 - USIfAC Control Port /  Registerauswahl durch Bit 0 - siehe zuvor!

Code to check if it's AMSTEAM SPI:

ld bc,&FB01
in a,(c)
and %11110000
cp %10100000
jp z,_it_is_Amsteam_SPI

GUNHED

Thanks! :) :) :) Good to know for us programmers  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Powered by SMFPacks Menu Editor Mod