News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

PlayCity aka CTC-AY (MX4) for August !!!

Started by TotO, 13:29, 07 July 14

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Munchausen

#25
Quote from: SyX on 22:59, 08 July 14
Well, a 9 channels music player is possible, somebody need to code it, of course :)

I converted the TS player from ZX for the ReSeT party demo disk.

Markus must be in the Germany celebration, because it's rare that he has not uploaded in this thread the special version of JavaCPC (press F1 for Help) that he made it, the sound is not 100% exact (because it was a fast hack for being able to code the demo disk and without him, it would not be possible to do it in time :) ),  but everybody can hear how the board sound.


This is awesome... but right now I am stuck at the intro screen. How can I send the F1/F2 etc keys in javacpc? It just brings up the help menu, load disc or whatever...

CraigsBar

Quote from: TotO on 13:29, 07 July 14
Dear CPC friends,

With the great success of the MotherX4 and X-MEM, I'm proud to announce you that the prototype board known as CTC-AY and shown at the previous ReSeT party will come true in MX4 format next month! :)

It's new name: PlayCity (plAY-CT)
The work on the auto-boot part of the X-MEM and his RAM support for all CPC allow the new CTC-AY to work together with it!

Here the main features of this board:
- 6 audio channels sound with programmable frequency. (stereo line out and speaker mono mix in)
- 4 counter/timer channels for programmable interrupt. (including NMI)
- IM2 vectorized interrupt support
- Raster lines interrupt support
- CRTC hardware CURSOR
...

Here the, confidential, well know developers board for illustration:

[attachimg=1]


Have a nice holidays and stay tuned for more informations.

  TotO.

I just know I am gonna be getting one of these.

Many thanks.
IRC:  #Retro4All on Freenode

remax

Quote from: Munchausen on 23:27, 08 July 14

This is awesome... but right now I am stuck at the intro screen. How can I send the F1/F2 etc keys in javacpc? It just brings up the help menu, load disc or whatever...

Same place as on a real CPC : f* keys are keys from the numeric pad on a PC
Brain Radioactivity

Munchausen

Quote from: remax on 23:41, 08 July 14
Like on a real CPC : f* keys are keys from the numeric pad on a PC


Ah, there's the problem - no numeric pad on my laptop (even emulated over the top of the normal keyboard)

remax

Quote from: Munchausen on 23:42, 08 July 14

Ah, there's the problem - no numeric pad on my laptop (even emulated over the top of the normal keyboard)

You might have to use a virtual keyboard
Brain Radioactivity

SyX

Quote from: Munchausen on 23:27, 08 July 14
This is awesome... but right now I am stuck at the intro screen. How can I send the F1/F2 etc keys in javacpc? It just brings up the help menu, load disc or whatever...
If you are in a notebook, remember enable "num lock" (Fn key + F11 in mine).

Munchausen

Quote from: remax on 23:43, 08 July 14
You might have to use a virtual keyboard


Yeah I just managed to do it using a virtual keyboard - listening now :D

Munchausen

Quote from: SyX on 23:43, 08 July 14
If you are in a notebook, remember enable "num lock" (Fn key + F11 in mine).


Yeah mine is so new they've done away with it all together, but on screen keyboard works :)

remax

Quote from: Munchausen on 23:45, 08 July 14

Yeah I just managed to do it using a virtual keyboard - listening now :D

For people like me who didn't know it : there is a virtual keyboard in windows :

http://windows.microsoft.com/en-us/windows/type-without-keyboard#type-without-keyboard=windows-7

(keypad is to be activated in Options)
Brain Radioactivity

Munchausen

Quote from: remax on 23:46, 08 July 14
For people like me who didn't know it : there is a virtual keyboard in windows :

http://windows.microsoft.com/en-us/windows/type-without-keyboard#type-without-keyboard=windows-7

(keypad is to be activated in Options)


And in linux - run "onboard"

TotO

probably using the fn key + 789UIOJKL,
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

TotO

Here, how look the V1.2 board.
Now, you can imagine how will be the final manufactured PCB.  ;D

[attachimg=1]
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Kris


ralferoo

Nice PCB! Looks like a nice small design! :)

Are there any technical docs about what's connected where? e.g. There was a post somewhere that mentioned the ports for the YM chips, but e.g. it's not clear where the clock divide pin on the YMs are connected (or even if the clocks come from the CTC instead of the system clock).

Munchausen

Looks great! I don't see the mysterious mono audio input anywhere though? Does it use the light pen connector?

Bryce

Quote from: Munchausen on 12:53, 09 July 14
Looks great! I don't see the mysterious mono audio input anywhere though? Does it use the light pen connector?

Pin 1 of the 50way header I assume.

Bryce.

Trebmint

Cool stuff. So this is really just an audio card unless I'm missing something? I cant see rasters being much use other than in demos, since we've only got 27 colours.


Has anyone contacted Richard to get this and X-Mem into Winape?

TotO

#42
The PlayCity is definitively not (only) a soundcard like you can see on ZX or MSX.  ;D
It's why, I have made the choice to speak about rasters first.

The board main feature is the Zilog Z80 Counter Timer Circuit, the best friend of the Zilog Z80 CPU.
The CTC is linked to the CPU to allow it to manage vectorized interrupt (IM2) and handling triggered events.
Programmers can only get benefit of that to save CPU time and make complex programs more easy to achieve.
I can only invite them to read the Zilog CTC data-sheet for more informations. (it's really easy to use)

Because the CPC expansion port have some interesting signals on it, it had been a shame to not use them. :)
- CTC channel 0 is a programable audio clock generator. i.e. allow to replay ST or ZX sound on a CPC using AUDIO pin.
- CTC channel 1 is linked to the CURSOR pin and triggered by the NMI pin. Allow accurate hi priority rasters effects.
- CTC channel 2 and 3 are linked together and offers 2x8bit or 1x16bit user purpose timer or counter.

ADDER is the ADDress decodER part of the board. It manage all the ICs.
Because ports are direct access to the hardware, it's really fast.
- CTC channels: #F880, 81, 82, 83
- Audio right: #F884, #F984
- Audio left: #F888, #F988
- Soft reset: #F8FF

At end, the LIGHTPEN pin is rooted to a 4 pins connector for plugging compatible hardware through an adapter.
I hope that will answer to your questions. :)


"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Kris

Quote from: Trebmint on 13:40, 09 July 14
Cool stuff. So this is really just an audio card unless I'm missing something? I cant see rasters being much use other than in demos, since we've only got 27 colours.


Has anyone contacted Richard to get this and X-Mem into Winape?
Rasters are not used only in Demo, many games are using this trick to display additional colors (look at Fugitif for example: http://www.cpc-power.com/index.php?page=detail&num=931

Trebmint

Quote from: Kris on 14:30, 09 July 14
Rasters are not used only in Demo, many games are using this trick to display additional colors (look at Fugitif for example: http://www.cpc-power.com/index.php?page=detail&num=931
I'm sold on the sound hardware, but i'm not sure rasters give you much in games. In Mode 0, you get 16 already so having 26 (with the added complexity and additional constraints) doesn't seem worth it. In Mode 1 you end up with banding like a stretched attribute clash. Even with 4096 colours of the plus programmable interrupts were never really used for anything other than a graduated background, and with a palette of 26 thats not an option.


Perhaps ToTo hasnt mentioned the hardware sprites feature in which case I'll buy 10 :P

TotO

Reducing all rasters effects to a simple background gradian is not very glorious.  :-\
In example, with the CTC you are not limited by the GA interrupts for splitting screen modes.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Munchausen

Quote from: Bryce on 13:17, 09 July 14
Pin 1 of the 50way header I assume.

Bryce.


So it's an input to mix the audio output from the CPC with that generated by the CTC-AY/PlayCity?

TotO

Yes. That allow the CPC speaker to replay the audio channels.
You are not forced to  use the external stereo jack.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

SyX

#48
@Trebmint: Think in rasters interrupts, not rasters as the change of colour fx.

You set an event that happen in the moment X and can be repeat every Y time units, one of the timers is syncronized with the CRTC for making events syncronized with the timmings of the CPC screen very easy.

In a typical CPC program, you will waste CPU waiting for the exact time moment for doing something. Possible solutions are use the GA interrupts, but the accuracy is not good (52 scanlines); or put in those delays useful code, but this increase exponentially the complexity of the code.

Having a more accurate interrupts source helps to improve games. For example:
* You can add digidrums/samples and not lose the 100% of CPU.

* You can make CRTC vertical splits with more accuracy and less headache, perfect for more complex combinations of game screens. Now making a player one window, scoreboard and player two window in the same screen is not so hellish using the CRTC Cursor and more flexible, because you not depend in GA interrupts only and you can use all the CPU wasted in maintain the screen FX in useful code for the game.

* Using the NMI interrupt and the minibooster you can transmite debug information from the CPC to the PC, without disturb your game.

* Of course, you can do change of colours and make colourful copper skies in games with a black background (Le 5 Axe with better accuracy in rasters).
.
.
.

The tiles and sprite chip, well, maybe in the future ;)

PS: We are making the wiki page and in a few hours everything will be there :)


Trebmint

Quote from: SyX on 16:59, 09 July 14
@Trebmint: Think in rasters interrupts, not rasters as the change of colour fx.

You set an event that happen in the moment X and can be repeat every Y time units, one of the timers is syncronized with the CRTC for making events syncronized with the timmings of the CPC screen very easy.

In a typical CPC program, you will waste CPU waiting for the exact time moment for doing something. Possible solutions are use the GA interrupts, but the accuracy is not good (52 scanlines); or put in those delays useful code, but this increase exponentially the complexity of the code.

Having a more accurate interrupts source helps to improve games. For example:
* You can add digidrums/samples and not lose the 100% of CPU.

* You can make CRTC vertical splits with more accuracy and less headache, perfect for more complex combinations of game screens. Now making a player one window, scoreboard and player two window in the same screen is not so hellish using the CRTC Cursor and more flexible, because you not depend in GA interrupts only and you can use all the CPU wasted in maintain the screen FX in useful code for the game.

* Using the NMI interrupt and the minibooster you can transmite debug information from the CPC to the PC, without disturb your game.

* Of course, you can do change of colours and make colourful copper skies in games with a black background (Le 5 Axe with better accuracy in rasters).
.
.
.

The tiles and sprite chip, well, maybe in the future ;)

PS: We are making the wiki page and in a few hours everything will be there :)
I don't doubt it has a thousand uses, but the ASIC had the same and nobody really used the interrupt facilities on that for more than graduated screens. I am however full of admiration for guys that can combine soft and hardware. I looked at FPGA's and CPLD and it makes little sense to me as a old skool z80 guy. Perhaps my dream is a cartridge that has a 512k rom with additional graphic/sound hardware built in cheap enough that we could release individual games on them.

Powered by SMFPacks Menu Editor Mod