CPCWiki forum

General Category => NC100, NC200, PCW, PDA600 - the rest of the Family! => Topic started by: JohnElliott on 23:01, 03 August 22

Title: JOYCE releases
Post by: JohnElliott on 23:01, 03 August 22
I should probably do a 'JOYCE releases' thread, since this seems to be where PCW interest is at these days.
JOYCE 2.5.0  (https://www.seasip.info/Unix/Joyce/)has been released. The major new feature in this release is the ability to run CP/M-86 or CP/M 2 sessions within PCW CP/M. Maybe not particularly useful, but implementing it entertained me.

(https://www.seasip.info/Unix/Joyce/cpm86.png)
Title: Re: JOYCE releases
Post by: robcfg on 08:54, 04 August 22
Hi John!

I downloaded it on my MacOS Catalina machine and found that on PcwGuest.cxx line 469, on function yield, there's a call to a function which doesn't seem to exists on Macs, that is enabled because of HAVE_SCHED_H which seems to be always defined as 1.

So, I removed that and left the alternative SDL_Delay(0) and I managed to compile xjoyce and xanne and get them running.

void PcwGuest::yield()
{
#ifdef HAVE_SCHED_H
sched_yield();
#else
SDL_Delay(0);
#endif
}
Title: Re: JOYCE releases
Post by: Prodatron on 13:14, 04 August 22
Thanks a lot for the new release, John!

Btw there is a typo in the download link for the windows version.

Currently it is...
/Unix/Joyce/joycesetup.exe-2.5.0

but it should be...
/Unix/Joyce/joycesetup-2.5.0.exe
Title: Re: JOYCE releases
Post by: JohnElliott on 15:25, 04 August 22
Quote from: Prodatron on 13:14, 04 August 22Btw there is a typo in the download link for the windows version.

Currently it is...
/Unix/Joyce/joycesetup.exe-2.5.0

but it should be...
/Unix/Joyce/joycesetup-2.5.0.exe
Thanks - should be fixed now.
Title: Re: JOYCE releases
Post by: JohnElliott on 15:26, 04 August 22
Quote from: robcfg on 08:54, 04 August 22I downloaded it on my MacOS Catalina machine and found that on PcwGuest.cxx line 469, on function yield, there's a call to a function which doesn't seem to exists on Macs, that is enabled because of HAVE_SCHED_H which seems to be always defined as 1.

So, I removed that and left the alternative SDL_Delay(0) and I managed to compile xjoyce and xanne and get them running.
I've altered my copy of the configure script to check specificially for that function, so hopefully you won't encounter that problem in future releases.
Title: Re: JOYCE releases
Post by: robcfg on 15:52, 04 August 22
That's nice, thank you!
Title: Re: JOYCE releases
Post by: GeoffB17 on 17:57, 04 August 22
Hm, interesting John.  One day, I might try this.

However, I actually have  original copy of IBM's version of CP/M-86, complete with the 5.25" SSDD boot disk, and IBM quality manual.   I've had it working on my old 386sx machine, and it works fine.  According to the docs, it should work with an appropriate format DS disk, and I was trying to make one (using 22DISK) but I don't think I got that sorted.

Just had the standard utils on the SS disk.  Don't know if there was anything else about that was worth having?

Geoff
Title: Re: JOYCE releases
Post by: GeoffB17 on 18:58, 04 August 22
If I was wanting to play with CP/M-86, the storage situation would be a massive help with the Joyce variant.

I've looked again at my IBM version, and this must be a very early release and I think there is no support for any sort of HD.   It might support a B: drive, but 5.25 only.

Back when I was playing with it, it seems that I DID get a DS disk to work as A: once the system was booted, but when I tried to get a 3.5" disk (DSDD, not HD at that time) to work as B: this refused, and that machine I was using has a 5.25" A: and a 3.5" B:.   So I'd be stuck with A: only, 180k total as boot, 360k once booted and disk swapped.  And those capacities will be reduced by system tracks etc.

Well, sort of comparable with the PCW I guess.

Geoff
Title: Re: JOYCE releases
Post by: JohnElliott on 22:39, 04 August 22
These days there is a patch (144FEAT) that lets IBM CP/M-86 use bigger floppies, but the storage situation (and in particular the lack of reliable tools for getting files in and out of a CP/M-86 environment) was why I wanted to add the feature to JOYCE, where I have IMPORT / EXPORT and a bunch of emulated hard drives with all the tools I want on them.
Title: Re: JOYCE releases
Post by: JohnElliott on 23:20, 10 March 24
I've just uploaded JOYCE-2.5.2 (https://www.seasip.info/Unix/Joyce/). This version is mainly to incorporate what I've learned about LocoLink since the previous release. In particular, there's now an internal LocoLink server that can expose a directory on the host system to Rosanne, and (at least in the Linux build) I've got LocoLink working reasonably reliably between JOYCE and ANNE.

There's also an experimental video driver (JFASTCRT) which tries to implement text drawing on the PCW's screen in native code, in the hope that that might be faster. (It also optionally accepts colour control codes, so that a command like PALETTE 4 40 really does change the screen colours to yellow on green. It's optional because there are PCW programs that do the equivalent of PALETTE 0 1 and dark blue on black isn't very easy to read).
Title: Re: JOYCE releases
Post by: McArti0 on 08:57, 11 March 24
F9 didn't work for me  :-X Help...
Title: Re: JOYCE releases
Post by: JohnElliott on 09:42, 11 March 24
I haven't changed that part of the code, and it worked when I tested it, so I don't know why it wouldn't work for you. If you've got a Menu key does that work?
Title: Re: JOYCE releases
Post by: McArti0 on 10:16, 11 March 24
I've tried turning on Joyce before. F9 never worked for me. I guess I don't know something. ::)
Title: Re: JOYCE releases
Post by: McArti0 on 11:12, 11 March 24
I have not disk start? 8)
Title: Re: JOYCE releases
Post by: JohnElliott on 13:04, 11 March 24
If you start it up and it gives you the "No JOYCE boot discs have been set up" message:


 
(https://www.seasip.info/Unix/Joyce/Images/no_boot_disks.png)


Then you will need to follow the steps in the menu to add at least one. Once you've done that you'll arrive at the boot menu and can either start from one of the discs or bring up the f9 menu.
Title: Re: JOYCE releases
Post by: JohnElliott on 12:43, 26 March 24
I've now released JOYCE 2.5.3. This emulates another proprietary communications interface: the PCW Linkit.

The Linux build also has another pointless feature that amused me: You can now use JOYCE as a terminal to your system's command line, so you can use MAIL232 (or other PCW terminal program of your choice) in the same way that you would an xterm.

(https://www.seasip.info/Unix/Joyce/pty.png)
Title: Re: JOYCE releases
Post by: robcfg on 18:58, 26 March 24
I managed to get it working on MacOS Sonoma by just adding
#include <unistd.h>to pcwlinkit.c, and
#include <libgen.h>to lllinkit.c

Where do I get MAIL232 and how do I make it work as the terminal?
Title: Re: JOYCE releases
Post by: JTN on 21:09, 26 March 24
Quote from: JohnElliott on 12:43, 26 March 24You can now use JOYCE as a terminal to your system's command line
Tee hee.
Quote from: robcfg on 18:58, 26 March 24Where do I get MAIL232 and how do I make it work as the terminal?
MAIL232.COM is on side 1 (LocoScript 1) of the PCW8xxx system discs. (Looks like it lives on the same disc as the rest of CP/M on the 9512; I haven't checked the 3.5" models.)
The Joyce 2.5.3 manual explains how to configure Joyce so that the emulated CPS8256 serial port connects to a shell (basically, configure it to point to /dev/ptmx). Faffing with terminal modes (e.g. echo) so that it's actually comfortable is left as an exercise for the reader.
Title: Re: JOYCE releases
Post by: robcfg on 23:36, 26 March 24
@JTN , thanks for your help!

@JohnElliott , It also works on MacOS  :D

The Cow has spoken!  ;D
Title: Re: JOYCE releases
Post by: JohnElliott on 23:50, 26 March 24
Interesting that your MAIL232 is an older version than mine. I wonder what the difference is?

I tidied up the prompt for my screenshot by adding a "vt52" case to my .cshrc (I use tcsh):

switch ($TERM)
    case "vt52":
        set prompt="\n[%n@%m %c]> "
        breaksw
    case "xterm*":
        set prompt="\n%{\033]0;%n@%m:%~\007%}%{\033[36m%}[%{\033[1;36m%}%n%{\033[0;36m%}@%{\033[1;36m%}%m %{\033[1;32m%}%c%{\033[0;36m%}]>%{\033[0m%} "
        breaksw
    default:
        set prompt="\n%{\033[36m%}[%{\033[1;36m%}%n%{\033[0;36m%}@%{\033[1;36m%}%m %{\033[1;32m%}%c%{\033[0;36m%}]>%{\033[0m%} "
        breaksw
endsw
Title: Re: JOYCE releases
Post by: robcfg on 11:36, 27 March 24
I did that on my .zshrc file, but despite changing the prompt, I still get a lot of unwanted characters.

Not that it's really a problem, but good to know.
Title: Re: JOYCE releases
Post by: JohnElliott on 00:35, 29 March 24
Quote from: JohnElliott on 23:50, 26 March 24Interesting that your MAIL232 is an older version than mine. I wonder what the difference is?
Answering my own question: When transmitting / receiving files (and echoing them to the screen) MAIL232 1.0 clears the screen beforehand and redraws the normal screen at the end. MAIL232 1.2 does it all in the same terminal window.

There's also a 1.1. The copy I have has Spanish menus, but apart from that it seems to be almost the same as 1.0 with maybe a bugfix in the 'Life' easter egg.

1.0 is actually larger than 1.1 and 1.2, because it contains a never-printed message reading "Only nosey buggers delve into other peoples programs!" and that's enough to increase the file size by an extra 128-byte record.
Title: Re: JOYCE releases
Post by: genesis8 on 21:23, 29 March 24
Not much informations about the Linkit on internet, I found your hardware.pdf wich is linked on your Joyce web page :-)

Interesting file by the way, maybe you should add it to the 5 links at the top of the page ? It's a bit too buried after the list of the versions of Joyce.
Title: Re: JOYCE releases
Post by: JTN on 14:32, 30 March 24
On the subject of Easter eggs in MAIL232: well-known at the time, but maybe not now, is that there's an implementation of Conway's Life (https://en.wikipedia.org/wiki/Conway's_Game_of_Life) hidden in there. See e.g. 8000 Plus, issue 3, p59 (https://archive.org/details/8000_Plus_Issue_003_1986-12_Future_Publishing_GB/page/n58/mode/1up).

(Is it known who wrote MAIL232? I assume one of the Amstrad staffers like Roland Perry, or maybe Locomotive, but I don't see any relevant strings in my copy.)
Powered by SMFPacks Menu Editor Mod