CPCWiki forum

General Category => Amstrad CPC hardware => Topic started by: h2w on 14:19, 12 December 22

Title: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 14:19, 12 December 22
XiAleste is an 8-bit home computer, which is compatible with software and hardware for the 1985 Amstrad CPC6128. It also has enhanced capabilities. It is intended to appeal to retrocomputing enthusiasts and to anybody who like to build yourself a hardware unit.

The project is focused on sound synthesis and is essentially a CPC6128 with extended sound capabilities.  Along with PSG it is planned to implement quite a complex sound synthesizer, which is a bit like SNES or even Sequential P12. It is hard to say more until the project is completed.

So. This is a very specific and unusual project. Many people might find it strange, but I only do what I like. It may be acceptable to others, but I'm not sure.

Keep checking the project status at the Projects Page (https://hackaday.io/project/188511-xialeste)

P.S. I can't firmly state that I will finish everything and it will be within a certain timeframe. But at the very least, I'll have the board ready before the new year. And then we'll see what's next.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 14:38, 12 December 22
Just to illustrate that the computer is expected to have a very advanced sound system, here is a fragment of the board below. That's it, keep an eye on the project from time to time.

Don't mind the silkscreen, the project is in the works and changes every day.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: Gryzor on 17:46, 12 December 22
Not for me, but pretty interesting, so following. 
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: GUNHED on 20:08, 12 December 22
Sounds very interesting.

Will it be compatible to LambdaSpeak FS and PlayCity?
They are the standard expansions for Speech and enhanced sound on CPC today.

Compatibility would allow to access existing software from the beginning.  :)
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 20:41, 12 December 22
Quote from: GUNHED on 20:08, 12 December 22Sounds very interesting.

Will it be compatible to LambdaSpeak FS and PlayCity?
They are the standard expansions for Speech and enhanced sound on CPC today.

Compatibility would allow to access existing software from the beginning.  :)
It was the plan, but I could not say about priority order right now. We will see.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: HAL6128 on 21:47, 12 December 22
Interesting project! (Wow, I'm always jealous about people who develop hardware like other reading a book.)
What does it mean 'compatible' to the CPC? 
You had mentioned those extensions like a special sound card or advanced graphic  mode (from the description of the website). How do you plan to keep it compatible to e.g. BASIC commands (mode, sound etc.)? And are those Enhancement also reachable through e.g. RSX commands?
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 08:45, 13 December 22
Quote from: HAL6128 on 21:47, 12 December 22You had mentioned those extensions like a special sound card or advanced graphic  mode (from the description of the website). How do you plan to keep it compatible to e.g. BASIC commands (mode, sound etc.)? And are those Enhancement also reachable through e.g. RSX commands?

Compatibility basically means that all previous code will work without changes. Also the previous hardware (daughter boards) will work properly.

The new hardware features, they only allow them to be used in the new software. For example you can write a demo program, or port your old code to the new platform using its features. It is not difficult to write a small program which will be put in ROM and add some features to BASIC. So anything is possible.

Suppose everything works out and I do my part: the PCB as well as the code for the FPGA and the DSP. What will XiAleste "know" right after that?

When booting the system with SHIFT held down it will just be an Amstrad CPC6128. Without holding down the SHIFT key, it will be XiAleste. In essence it will be the same CPC6128 but in the output space there will be an ExtMode register whose bits will allow you to add hardware nodes -- such as a sound system or an advanced graphics system (and others). By activating one of the nodes in the I/O and/or memory space the corresponding registers or memory locations will appear. The software can use them.

N.B. Activating the hardware node should not make the computer incompatible with CPC6128. There is still a chance that a program or game will stop working.

Let's take the sound system as an example. After activation there will be a fragment in the memory which will contain all the necessary information to control the DSP. This will be similar to the SPC700 (i.e. as a list of MIDI controllers). At least you can write a BASIC program to control this data and as a result (at least) the sound synthesized by PSG will be treated with Chorus, Echo, Reverberation effects etc. This way you can make the system play a MIDI file previously loaded into memory. In the end, all the possibilities of the sound system are already available, but not formalized in the form of additional BASIC commands. Let others do the rest.

N.B. In a sense, activating the hardware node adds new software to the Amstrad CPC6128, but implemented on the coprocessor.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: HAL6128 on 08:55, 13 December 22
How do you design the interfaces? I've read that there's a bus expansion (centronics or edge connector)? How do you drive the keyboard, floppy, joystick, printer or monitor(etc.)?
Do you have an overview like this one:  Aleste520EX (https://www.cpcwiki.eu/index.php/File:Aleste_PCB_Illustrated.gif) ?
Is this system or better the software for it somehow 'upgradable' like an Ultimate64 (Ultimate64 (https://ultimate64.com/Ultimate64)) which consider further developments?
Does the board fit in a special case (an empty CPC6128 :D )?
(...so many questions? :) )
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 09:33, 13 December 22
QuoteHow do you design the interfaces?
Not sure about the question

QuoteI've read that there's a bus expansion (centronics or edge connector)?

Three 62-pos, 2.54mm pitch edge sockets on the board.

QuoteHow do you drive the keyboard, floppy, joystick, printer?
Similar to the MIST board. All of those thigs are implemented on FPGA and they have a backed hardware updated by the MCU. The MCU has 4 USB connector for HID for Bulk devices.


Quoteor monitor(etc.)

VGA and HDMI on the board, but the scandoubler in the FPGA

QuoteDo you have an overview like this one:  Aleste520EX ?

I will make similar image asap

QuoteIs this system or better the software for it somehow 'upgradable' like an Ultimate64 (Ultimate64) which consider further developments?
I am not sure what is Ultimate64. But XiAleste will have:


QuoteDoes the board fit in a special case (an empty CPC6128 (https://www.cpcwiki.eu/forum/Smileys/SoLoSMiLeYS1/cheesy.gif) )?

I am working on DTX formfactor. But anybody could load my Altium files and redesign board to another size.

Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: Cwiiis on 12:51, 14 December 22
If one of these hardware nodes could be "Plus support" (so you get hardware sprites, 12-bit palette, hardware scroll registers, sound DMA, configurable raster interrupt), this would be a fantastic project for the longevity of that platform.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 13:02, 14 December 22
Quote from: Cwiiis on 12:51, 14 December 22If one of these hardware nodes could be "Plus support" (so you get hardware sprites, 12-bit palette, hardware scroll registers, sound DMA, configurable raster interrupt), this would be a fantastic project for the longevity of that platform.
That is possible. Will be good if someone who can take care of FPGA for the CPC6128 and Plus domains. I would do sound part of the Xi. We will see  :)
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: GUNHED on 14:50, 14 December 22
Great new, especially that it comes with expansion RAM and ROM. Well, I was waiting for such a system a long time.  :) :) :)

Can the speed be enhanced? Like a Turbo mode. 8 MHz instead of 4 MHz or even more?
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 15:30, 14 December 22
Quote from: GUNHED on 14:50, 14 December 22Great new, especially that it comes with expansion RAM and ROM. Well, I was waiting for such a system a long time.  :) :) :)

Can the speed be enhanced? Like a Turbo mode. 8 MHz instead of 4 MHz or even more?
Yes
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: GUNHED on 20:34, 14 December 22
That opens new worlds for GFX, Sound etc. _with_ compatibility.  :) :) :)
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: zhulien on 18:29, 31 December 22
does anyone send a complete component set for the Aleste?  I have only the main circuit board.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 12:43, 01 January 23
Quote from: zhulien on 18:29, 31 December 22does anyone send a complete component set for the Aleste?  I have only the main circuit board.
There were such suppliers previously but not anymore ( 
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: GUNHED on 13:54, 02 January 23
This will be the Top hardware project for 2023.
Please keep us updated!  :)
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 14:54, 02 January 23
Quote from: GUNHED on 13:54, 02 January 23This will be the Top hardware project for 2023.
Please keep us updated!  :)
I will publish PCB asap. Right now working on the voice daughters board. I am doing it to prove the pinout of sound expansion connector.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: GUNHED on 16:12, 04 January 23
Well, to select a color (the CPC has 32 and 27 are different) the values from &40 to &5F are sent to port &7Fxx.

Now there could be 32 colors more be added to a CPC compatible mode just by using values &60 to &7F als values too. (These values are not used today for nothing - afaIk).

This way the XiA could provide 64 colors for the CPC and stay compatible. Some browns and greys would be of interest for sure.  :)
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: SerErris on 10:32, 05 January 23
You are not giving up on it, right? 

As this is an FPGA implementation and not a software emulation it will have the same compatibility issues as the original mainboard coming from the way how the GateArray is converting the numbers of the colors into RGB values on the output. You have to change the output to get to more colours and same as in the dicussion on the GateArray implementation in a CPLD this will not work. 

The main issue is, that hardware is hard wired (tha GA) and can only create the three states on the output. If you want to be able to output more colors, you would need to get the hardware to interpret the upper 32 colors in a complete different way and also need to add hardware to be able to create more variances of each color than 3. 

So this is the same "hardware" as the original one, with the exact same issue. Only software emulators would be able to overcome this issue with a software implementation of the GA and then outputting some other color pallette via a VGA output.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: TotO on 12:13, 05 January 23
A simple way for Amstrad to have more colors on the 40010 GA would have been to set the unused bit5 for the intensity and output RGBI instead of RGB. Sure, that means some duplicate values, but enough to have more shades and dark colors and stay compatible.

EDIT: Adding the palette by removing the 8 duplicated colours (46/54).
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: Gryzor on 13:01, 05 January 23
What would that have caused with the original machine though? 
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: TotO on 13:07, 05 January 23
@Gryzor Ignoring the intencity bit and only set colours from the original palette.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 14:03, 05 January 23
The project I am working on is focused on sound -- but not a graphics features.
The is FPGA module MUSELabs's ICESugarPro. It has limited amount of pins, so when a compromise needed the Audio features are preferable.

The board has two video connectors. The main connector is HDMI but VGA is auxiliary.
The HDMI will allow to make all your improvements for colors, but VGA has limited amount of bits -- 3 bits per component only.

P.S. For future, I have completed PCB design of my version of ICESugarPro with more pins on connector.

Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: HAL6128 on 14:21, 05 January 23
Quote from: TotO on 12:13, 05 January 23A simple way for Amstrad to have more colors on the 40010 GA would have been to set the unused bit5 for the intensity and output RGBI instead of RGB. Sure, that means some duplicate values, but enough to have more shades and dark colors and stay compatible.

EDIT: Adding the palette by removing the 8 duplicated colours (46/54).
Is this a way what had been done in the hardcore demos mentioned here?  CGA = the same chip in the Amstrad CPCs?

Quote from: Maniac on 12:53, 03 January 23If you want to see what CGA can really do when pushed watched these amazing works of art!

https://www.pouet.net/prod.php?which=65371

https://www.pouet.net/prod.php?which=91938

Technical details here: https://trixter.oldskool.org/2015/04/07/8088-mph-we-break-all-your-emulators/
It seems to be more a hardware trick?
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: TotO on 14:24, 05 January 23
@HAL6128 As I know, most of the colourful CGA demo are based on a composite NTSC trick.
So, it is not related to what I have posted about a GateArray with a RGBI output.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 16:37, 05 January 23
I do not see the problem of the color expansion. The A520Ex used 6 bits direct RGB color value instead of some abstract number. It can't render exactly same colors as CPC128 but who cares the analog monitors were not much equal by the color rendition. For XiA will be used port shadowing and it will allow to have minimally RGB332 up to RGB888 on HDMI.
Or maybe I am missing something?
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: TotO on 16:52, 05 January 23
The Aleste 520EX has a ROM to remap the CPC index from 6-bit RGB. There is no problem to redo the same, it will work. I'm just answering how a real GateArray in a CPC could have increased the number of colors while remaining compatible, that's all. :)

@MacDeath isn't here, so I post this pic, as I know he likes to do this kind of things. Next, I no more "spoil" your topic. :-*
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: PulkoMandy on 20:43, 05 January 23
A real Gate Array is a purely binary chip, we are lucky that Amstrad went a bit creative and tought of using high impedence to add a 3rd level, otherwise we'd have only 8 colors.

Adding an intensity bit would require one more pin on the package, which is not possible because the Gate Array is based on a standard "Gate Array" system that has only a fixed number of input and output pins. So, which one of those existing pins would you remove to make space for your new intensity output?

Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: Sykobee (Briggsy) on 20:53, 05 January 23
They were planning on 64 colours with an external resister ladder I believe, but they ran out of pins as PM says - it was very lucky that GA supported stable tristate outputs on a few pins.
Obviously they could have used a slightly bigger GA, but that didn't fit in the cost-cutting ethos :)
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: TotO on 21:40, 05 January 23
Quote from: PulkoMandy on 20:43, 05 January 23A real Gate Array is a purely binary chip, we are lucky that Amstrad went a bit creative and tought of using high impedence to add a 3rd level, otherwise we'd have only 8 colors.
Sure, it was a great alternative to not have 8 colours like some other computers.
It was not possible to have 3 extra pins (RRGGBB) and twice the registers to store the colour index.

Quote from: PulkoMandy on 20:43, 05 January 23Adding an intensity bit would require one more pin on the package, which is not possible because the Gate Array is based on a standard "Gate Array" system that has only a fixed number of input and output pins. So, which one of those existing pins would you remove to make space for your new intensity output?
Show me the base package to be sure than all the pins are used, and not one free tied to GND.

Anyway, the first GA (40007) was not designed for the Z80 and must provide the RAM refresh. With the design update (40010) it was probably possible to use the Z80 /RFSH pin to do the job, if really required by Amstrad to save a pin. (probably other options exist)

EDIT: Taking a look to the decaped 40010, there are 4x18 (72) i/o pins, 35 are used, 2 linked to VCC, 1 tied to GND. 2 true GND.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: SerErris on 00:22, 06 January 23
The refresh in the CPCs is done by the CRTC setting all 256 row addresses ever 50 mseconds, not the GA. The GA is used to create the clocks (and the video clock bit is used to access video RAM). 

But again, the CRTC is creating the all the row addresses to refresh the RAM.

Anyhow not important for the discussion here. If there would have been anything available to produce a intensity bit easily with the existing resources - they would have done it.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: GUNHED on 14:25, 06 January 23
Guys, please stay on topic! 

The XiAleste is an alternative to our beloved, but sold-out CPCs / Plus computers.
General discussions are welcome of course - in their own threads.

Here - please - lets focus on the topic. 

Coming back to my question: Thanks h2w, extended GFX features are not excluded. Good to hear.  :)

Will somebody actually go to produce the XiAleste?
For some of us it would be great to be able to buy the final product and invest time into programming for the XiAleste.  :)
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 19:33, 06 January 23
Quote from: GUNHED on 14:25, 06 January 23Will somebody actually go to produce the XiAleste?
For some of us it would be great to be able to buy the final product and invest time into programming for the XiAleste.  :)
1. I am planning to build as minimum one unit. I don't do it right now only because I do not have budged for. I am seeking job at this moment, so as soon I will found one I will order first 3-4 PCBs.

2. I can build limited quantity 10 units with very small profit - if there will be such order.

The biggest issue right now the FPGA, I need for find somebody to assist. In other case the project schedule will be extended.
Title: Re: XiAleste -- Another Amstrad CPC6128 replica
Post by: h2w on 13:04, 08 January 23
The schematic circuit and PCB files uploaded to github. Please feel free to report: design mistakes, any kind of errors include spell-errors in the schematics. Feel free to collaborate and recommend me ECOs.  :)
Powered by SMFPacks Menu Editor Mod