blackjetrock / picoputer

Raspberry Pi Pico Transputer Emulator
GNU General Public License v3.0
38 stars 6 forks source link

iserver port #1

Open tinkercnc opened 3 years ago

tinkercnc commented 3 years ago

Hi Matsche, Ah, this is interesting, it looks like you have adjusted the original
iserver sources to build on Linux. That is something I looked at briefly
but didn't continue with. I can build the code apparently, so that is a
huge step forward. Unfortunately I can't run the code with my Picoputer as
the IMSC011 is on the other end of an Arduino Mega using my rather
inefficient protocol. So it doesn't look like any of the well-known boards
that iserver supports. I'm very interested in running this server though as
it is the original code so will support all of the SP protocol out of the
box.The code will appear on my GitHub, I just need to knock it into shape.

Hi Amen,

thank you for the sources and I hope it's ok to answer here. @iserver: Yes you have to write your own version of the b004link.c file. But I think it's quite straight forward a copy with some adjustments and changing the boardname in the Makefile (ie. -DBOARD_ID=MegaLink instead of -DBOARD_ID=B004 ). When I get more time I will copy and test your setup too.

BTW: I think the picoputer link in the repo should be submodules, isn't it?

blackjetrock commented 3 years ago

Yes, I looked at iserver before and it is a case of adding a new board. The code can probably be foun din my ardlink-server.c file.

The other code should probably be submodules, but I didn't want the code to be separated and lost in the future so I put it all in one repo.

tinkercnc commented 3 years ago

@submodule: Yes, but the code is unreachable. :)

@iserver: in iserver.h adding a board ie.

#define MegaLink    1 //it's B004 compatible because polling aso.
#define BOARD_ID MegaLink

The link-driver.h is not necessary just the lines (it was my laziness... ;):


/*
 * IOCTL numbers
 */
#define LINKTIME        0x0001      /* no longer available */
#define LINKRESET       0x0012      /* reset transputer */
#define LINKWRITEABLE       0x0004      /* check if we can send a byte */
#define LINKREADABLE        0x0008      /* check if we can receive a byte */
#define LINKANALYSE     0x0010      /* go to analyse mode */
#define LINKERROR       0x0020
#define LINKREADTIMEOUT     0x0040      /* set timeout for reading */
#define LINKWRITETIMEOUT    0x0080      /* set timeout for writing */
#define LINKREADABORT       0x0100
#define LINKWRITEABORT      0x0200

but it in the MegaLink.c file.

in the Makefile add/change:

OBJ=           iserver.o filec.o hostc.o serverc.o MegaLink.o

MegaLink.o:  MegaLink.c inmos.h   
       $(CC) $(CFLAGS) MegaLink.c

and in MegaLink.c change the device string in the OpenLink function.

good luck :)

blackjetrock commented 3 years ago

You mean my code?

tinkercnc commented 3 years ago

Yep!

blackjetrock commented 3 years ago

Hmm, I've just had someone check and they can see code in the repo, and download a ZIP. Which code can you not see?

tinkercnc commented 3 years ago

ie.: https://github.com/blackjetrock/picoputer/blob/main/picoputer

tinkercnc commented 3 years ago

and https://github.com/blackjetrock/picoputer/blob/main/picoputer-eclipse

blackjetrock commented 3 years ago

OK, I know what's up, I'll see if I can sort it.

blackjetrock commented 3 years ago

Hopefully that's better. Don't forget it's all a bit of a mess.

tinkercnc commented 3 years ago

Yes it's there. And as you can see on my sources, I'm very familiar with mess. :)

tinkercnc commented 3 years ago

Horrible! Now I've ordered 2 Pi Pico... ;)

btw: And what's about your real transputer? No interests to connect it to the linux box?

blackjetrock commented 3 years ago

I did connect it, it's in the last video. I'm hoping to get a network of real and Picoputers at some point... Level shifters are the problem. The real transputer just worked when attached to the IMSC011. Regards

Andrew Menadue

On Wed, 11 Aug 2021 at 19:34, CNC Tinkerer @.***> wrote:

Horrible! Now I've ordered 2 Pi Pico... ;)

btw: And what's about your real transputer? No interests to connect it to the linux box?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/blackjetrock/picoputer/issues/1#issuecomment-897057328, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHQ75GECGGX77DDQQRTIY7LT4K7CRANCNFSM5B6JI4SQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

blackjetrock commented 3 years ago

So for the Pico only system, you can use the USB as link0 and get the picoputer booting from USB directly from iserver. I haven't done those changes yet, but I have thought about it. Then you can have a picoputer network without any 5V components. Or IMSC011's to find. The picoputer is fairly slow at the moment, it might be possible to speed it up a bit, there's some inefficiencies in the emulator.

Regards

Andrew Menadue

On Wed, 11 Aug 2021 at 20:00, A Menadue @.***> wrote:

I did connect it, it's in the last video. I'm hoping to get a network of real and Picoputers at some point... Level shifters are the problem. The real transputer just worked when attached to the IMSC011. Regards

Andrew Menadue

On Wed, 11 Aug 2021 at 19:34, CNC Tinkerer @.***> wrote:

Horrible! Now I've ordered 2 Pi Pico... ;)

btw: And what's about your real transputer? No interests to connect it to the linux box?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/blackjetrock/picoputer/issues/1#issuecomment-897057328, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHQ75GECGGX77DDQQRTIY7LT4K7CRANCNFSM5B6JI4SQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .