Recent posts

#91
Thanks both for your anwser. Both future Os and the expansions are so amazing !

So if in understand : i can't run Future OS decently with this expasion board and my USFIDAC 2, as i need both 4 ROM and (xxk ?) RAM. Right ?

Given the fact i'd want to use if for musical purpose (using AY chip in midi with drum machine an synth)  here it the hardware setting i imagine :


Expansion board 
https://www.seeedstudio.com/Amstrad-CPC-Computer-Expansion-Board-g-1136534

+ this multi purpose board (for RAM)
+ My Usifac 2 (serial port to connect to Arkos 2,usb to load files)
+ Musical extension (planned Speak & sid with midi functions)
+ ROM board (wich one ?)

OR

Expansion board

+ ULIFAC : that could run Future OS)
+ Speaks & Sid

Obviously, that would be easier. But i have to sell both my USIFAC and my mutli prupose board, in order to swap to this configuration.


#92
avatar_Duke
Programming / Re: CPChessNet [developing]
Last post by Duke - 12:32, 29 March 23
Quote from: Joseman on 12:19, 29 March 23One question:

if all the sockets are opened in old connections, and only close socket1, the m4 will allways try to get first socket1? or there is some case that it will try first to open socket>1

thankyou!!

Yes, sockets are always opened in the order 1,2,3,4 - if a socket is in use it will check the next one.
#93
avatar_Joseman
Programming / Re: CPChessNet [developing]
Last post by Joseman - 12:19, 29 March 23
Quote from: Duke on 11:01, 29 March 23
Quote from: Joseman on 10:34, 29 March 23Hi @Duke

I'm unabled to get socket1 and only socket1

the first time it's ok, I get socket 1.

Reset the cpc (not the M4), socket1 remains open

Execute the routine get_socket, and I do a "if socket >1 --> close socket"

do a bucle until socket1 free

but it never exist the bucle

it's like that the M4 is not closing sockets and then the bucle never exist

are you sure that the M4 is capable to close sockets that was open on old connections before reset the CPC?

maybe i'm doing something wrong, but i followed your source code as you explain
You should close the socket before opening it, to ensure it is closed after the reset/crash.

Ie.
; close socket 1 first thing
ld hl,cmdclose
call sendcmd

; you can check return value, if -1, then the socket was not open, thus could not be closed.
; ...

; then open a new socket
; ...

ld hl,cmdsocket
call sendcmd
; should return socket 1 (first avaiable socket)
; ...

ret

cmdclose:
db &03
dw C_NETCLOSE
db 1 ; socket 1

cmdsocket:
db 5
dw C_NETSOCKET
db &0,&0,&6 ; domain, type, protocol (TCP/IP)


At last!!! it seems to work!! thankyou!!

One question:

if all the sockets are opened in old connections, and only close socket1, the m4 will allways try to get first socket1? or there is some case that it will try first to open socket>1

thankyou!!
#94
T
Games / Re: Ghosts'n Goblins GX4000 is...
Last post by tzok - 12:16, 29 March 23
The image size is 256kB (so 2Mb) how to make it work on a physical cartridge? There is a CPR file, I've tried CPRtools to convert it to BIN, but it doesn't seem to work. Should I set the option in CPRtools to truncate the file to 128kB?
#95
avatar_robcfg
Amstrad CPC hardware / Re: CPC / Raspberry Pi Bridge ...
Last post by robcfg - 11:37, 29 March 23
I watched that video yesterday and I think we could learn a lot from it thanks to it being an open source project.
#96
K
Games / Re: Goldorak [ wip ] CPC versi...
Last post by kawickboy - 11:31, 29 March 23
Nice cheat.
#97
A
Programming / Re: SAM (Atari 8bit Speech Syn...
Last post by andycadley - 11:25, 29 March 23


The Plus can still only play back 4-bit samples using DMA, but it can play three samples at once (one per audio channel).
#98
avatar_Prodatron
Programming / Re: SAM (Atari 8bit Speech Syn...
Last post by Prodatron - 11:04, 29 March 23
Quote from: ZbyniuR on 05:15, 29 March 23Reason why they combine channels is pitch, how many octaves we have possible beetwen lowest and highest sound. And makes better precise of pitch for each note, without combine most notes sounds false.

Thanks for the info! I thought he was speaking about volume, not about pitch.


Quote from: ZbyniuR on 05:15, 29 March 23Digitracker on CPC can play 5bits sample using all 3 channels, (because 4bit play in left and right channels together is twice louder than 1 middle channel)
Not sure, if there is another Digitracker for the CPC :) But when you are speakin about my one:
When it is using the PSG, it plays 4bit only, as it is mixing the 3 digi channels into one and outputs them on one PSG channel. It would be too slow to use multiple PSG channels on the CPC, when playing multiple digi channels, as the PIO requires a lot of additional OUTs for switching between PSG registers, this really sucks.


Quote from: ZbyniuR on 05:15, 29 March 23PIO [...] works as buffer, so Z80 can in part of second send info about all tones for next half minute and doing something else.
At least on the CPC this is wrong. The PIO isn't a buffer, which can play PSG sound for half a minute without the CPU. Maybe you are mixing this with another system?
#99
avatar_Duke
Programming / Re: CPChessNet [developing]
Last post by Duke - 11:01, 29 March 23
Quote from: Joseman on 10:34, 29 March 23Hi @Duke

I'm unabled to get socket1 and only socket1

the first time it's ok, I get socket 1.

Reset the cpc (not the M4), socket1 remains open

Execute the routine get_socket, and I do a "if socket >1 --> close socket"

do a bucle until socket1 free

but it never exist the bucle

it's like that the M4 is not closing sockets and then the bucle never exist

are you sure that the M4 is capable to close sockets that was open on old connections before reset the CPC?

maybe i'm doing something wrong, but i followed your source code as you explain
You should close the socket before opening it, to ensure it is closed after the reset/crash.

Ie.
; close socket 1 first thing
ld hl,cmdclose
call sendcmd

; you can check return value, if -1, then the socket was not open, thus could not be closed.
; ...

; then open a new socket
; ...

ld hl,cmdsocket
call sendcmd
; should return socket 1 (first avaiable socket)
; ...

ret

cmdclose:
db &03
dw C_NETCLOSE
db 1 ; socket 1

cmdsocket:
db 5
dw C_NETSOCKET
db &0,&0,&6 ; domain, type, protocol (TCP/IP)

#100
avatar_Joseman
Programming / Re: CPChessNet [developing]
Last post by Joseman - 10:34, 29 March 23
Hi @Duke 

I'm unabled to get socket1 and only socket1

the first time it's ok, I get socket 1.

Reset the cpc (not the M4), socket1 remains open

Execute the routine get_socket, and I do a "if socket >1 --> close socket"

do a bucle until socket1 free

but it never exist the bucle

it's like that the M4 is not closing sockets and then the bucle never exist

are you sure that the M4 is capable to close sockets that was open on old connections before reset the CPC?

maybe i'm doing something wrong, but i followed your source code as you explain
Powered by SMFPacks Menu Editor Mod