CPCWiki forum

General Category => NC100, NC200, PCW, PDA600 - the rest of the Family! => Topic started by: HigashiJun on 12:41, 09 February 20

Title: EXBASIC for Amstrad PCW
Post by: HigashiJun on 12:41, 09 February 20
Just for those still programming on their beloved PCWs.

As a full-fledged copy of WALBASIC (one of my previous posts) seems to be unavailable on the net, I remembered there was a more famous graphical extension to MALLARD BASIC and I have just found a copy of it (and its manual).

So if you are interested, here comes EXBASIC (.dsk format).

If you'd like to get the manual, just PM me and I'll send it to you (it's too big to be attached)...

Have fun !

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 15:37, 09 February 20

Yes, interesting.   I'll try to have a look at this.

I've got the download, and tried to unzip, but I get errors, and the files indicated look strange, not like a normal .zip file.   I've got JZIP, and I'll try that too.

What did you use to do the zip, and what files should be there.   I seem to show two versions of each, one with a dot in front, the other not, which is certainly odd.   Maybe you've used a Linux variety of zip?

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 16:07, 09 February 20
OK - JZIP has helped, there are other things in the .zip file that are confusing the issue, but I've managed to use JZIP to select JUST the two .DSK files and I've now got them OK.

I'll get the images looked at!

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 17:05, 09 February 20
The two images seem to be very similar, the same files, although there are some differences.   So not identical.

I've tried the Side A file on Joyce Emulator, with the BASIC.COM on M:

The process does NOT seem to find the file, and does nothing.

I deleted the READ.ME file from A:, and copied BASIC.COM there.   This time the process loaded, and the extended BASIC seemed to be active, BUT the prog seems to lock up, and does not seem to be working, although I do get the Sign-on message, but no 'Bytes free' and no 'ok' prompt.   Prob does NOT like the Emulator?

Next step, transfer the files to the REAL PCW, and try again.

Oh, this system is from Nabitchi Computing, and is (c) 1986.

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 19:59, 09 February 20
No luck so far.

I've tried this system now on my PCW, and it just locks up the machine.   Need to go so far as to power off.

This is running the system with copied files.   So there could be some copy protection doing something.   I'll have to try and create an actual dick from the image, but the images are 'extended' and the two options I have to create a disk from an image do not work with extended images.  As I understand things.   Then again, my PCW is not a 'normal' PCW, so if the prog is checking a config thing, it might find something not to it's liking.   Non-standard B: drive, and all the virtual HDs.

The process does actually get further on the emulator.   At the point at which it sticks, it might be checking the available RAM, and if the modified prog is expecting xxx k bytes free, and Joyce actually has xxxx k free, it may get upset?   Unmodified BASIC.COM does not have a problem, mind you.

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 02:21, 10 February 20
I've been looking in the .dsk files.

Seems that the file header says there should be 43 tracks (cylinders) but actually the file contains 40 only, and the overall file length is not correct, there seems to be something like 21 bytes hanging lose.  So I'm wondering if the .dsk files are damaged somehow.

The files contain a significant mess of sector numbers, there are some places where following tracks have a similar patters, but many are different, and I assume this has been done intentionally, prob as copy protection?   I assume.

So, I assume that when I try to run the prog from the image within Joyce then the prog may be looking for markers that it's a valid disk, for example trying to read a sector on one of the tracks 41-43, and if it fails that it knows it's not a valid copy.   But something else does work, so this version gets further than the attempt on the real PCW, where the prog knows immed that it's not a proper disk (as I've copied the files from the image to a 'normal' PCW disk.

Is this likely right, or close?

Title: Re: EXBASIC for Amstrad PCW
Post by: HigashiJun on 12:16, 10 February 20

Maybe this new attached version will work better.

Also enclosed the first page of the manual explaining how to start EXBASIC.

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 15:14, 10 February 20

Thanks for the update.

The page from the manual doesn't say much more than the info in the READ.ME file.   I was hoping there might be a note about the difference between the Side A and B versions, and what the difference is, and when A should be used as opposed to B.

I've checked the A .dsk file so far, and it seems to be the same as the previous one.   Same size, same anomoly between the data showing 43 tracks in the header, but the last track in the data in 40.

I notice now that each block of track data in the .dsk is headed Track-Info but in these files there is an additional block labelled Offset-Info. this block being a different length to the normal Track data.   I wonder if this data is something to to with the sector numbering being all over the place?   Clearly intentional, rather than damage?

If anyone gets this system to work, please confirm, incl details of your system as per how normal/standard it is.

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 15:29, 10 February 20
I've now used the DOS FC utility on these files, and I see that the original and the new Side A files are identical, and ditto for the Side B files.   So the images have NOT been damaged in transit (incl zipping and the different types of zip etc).   I am leaning towards the 'copy protection' being a problem for both Joyce and my (non-standard) PCW.

Title: Re: EXBASIC for Amstrad PCW
Post by: HigashiJun on 15:45, 10 February 20
I'll try to have a look at it this week-end, but on an emulator since my real PCW sleeps somewhere in my parents' cellar...

I also agree the manual doesn't help much and I really don't know if there's more information elsewhere.

Title: Re: EXBASIC for Amstrad PCW
Post by: JohnElliott on 01:44, 11 February 20
Offset-Info is an extension defined by Simon Owen here (https://simonowen.com/misc/extextdsk.txt).

Looking at the disk image in question, LibDsk rejects it as corrupt because:
* The disk header says there are 43 cylinders, but in fact there are only 40.

* LibDsk tries to read each track header to count how many Offset-Info entries will be needed. When it tries to read the 41st track header, what it actually gets handed is the Offset-Info block. This should cause the .DSK to be rejected, but in fact LibDsk doesn't notice (oops!) and adds on what it thinks is a sector count of 169.

* Then when LibDsk tries to read the real Offset-Info block, it finds there aren't as many entries as it thought there should be, and bails out.

Since the file claims to be generated by SAMdisk 120814, I think this may be a bug in that version of SAMdisk and you should recheck with a more recent one. That said, I found using a hex editor to set the track count in the disk image to 40 (change byte 30h from 2Bh to 28h) allowed me to mount the disk image in JOYCE and see the files.
Title: Re: EXBASIC for Amstrad PCW
Post by: HigashiJun on 10:00, 11 February 20
It's day off today, so I tried to run EXBASIC from my emulator (CP/M BOX).

I can tell that everything works fine. Here's what I do:

- Load CP/M.DSK in drive A: and EXBASIC.DSK in drive B:
- Start on CP/M
- Change drive to B: and run EXBASIC.COM
- EXBASIC starts and ask me where MALLARD BASIC is located (I type A)
- EXBASIC now runs

I also tried the basic PRINT "¡CIRCLE.",360,180,150; instruction and as expected, it makes me a nice circle on the screen...

Title: Re: EXBASIC for Amstrad PCW
Post by: HigashiJun on 11:45, 11 February 20
I also ran the demo programmes and I must say EXBASIC was a nice piece of software for its time...

The BEEP.BAS demo is really worth it. I am really surprised how good the sound is for a machine like the PCW (Head Over Heels had a nice sound but combined with the DK'SOUND interface).

The drawback is the nasty way of typing instructions: PRINT "¡DRAW.",X,X; PRINT "¡CLS.", etc. It's quite cumbersome and it would be really nice to type single instructions like DRAW, CLS and so on...
Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 16:50, 11 February 20
Note to John Elliott - thanks for the info.   I have been using SAMDisk to check the images, as it was noted in the header.   The version I have was reading the image OK, just reporting the discrep between the different track counts, and reporting the last 3 tracks as blank.

Oh, my apologies, I should have reported that Joyce does in fact load these images OK, and allows me to read off the files OK.   I did not try to amend the ## tracks.   I did however have to use the options in Joyce to access the image as Extended explicitly, the 'auto' seemed not to behave (or took too long ??).   BUT - is it possible that I'm not reading the EXBASIC.COM file correctly.   It seems to copy off the image OK?   The problem I had happened only when I tried to RUN the prog.

I'll try the B: variant as suggested, I've used A: and M: so far without getting any further than described.

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 16:40, 12 February 20

Any chance you could put the EXBASIC.COM into a zip and post that.  The one possibility as to why the file will not work here is that the files are not right.   When I look in the files - both versions - I see some stuff there that looks like it might be part of something else, like one of the DEMO progs.  The other files seem OK, or the data can be spotted if any problem there.   May still be that the prog is running and finding something it doesn't like, but it's a matter of ruling possible problems out one by one.

Anyway, prog will still not run here.  Drives used seems to make no difference.

Title: Re: EXBASIC for Amstrad PCW
Post by: HigashiJun on 09:39, 13 February 20

I don't know if I can extract EXBASIC.COM from the .dsk with my emulator...

Could you try CP/M Box instead of Joyce and see what happens ?

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 19:08, 13 February 20

I've got (just) the CP/M BOX system, and installed it.  Struggling to get far with it.  Seems it's more structured for games rather than the sorts of things I'd do.

I've loaded an image as A:, and that seems to be OK.   Cannot get another image to load as B:.   The doc refers to drsgging the image onto the B: but the B: does not stay on the screen when I get the images to select, so nowhere to drop it.   What am I missing?

The Joyce emulator is very handy for moving files in/out of images.   The initial setup included some utilities so that you could do things from the CP/M command line, a little bit fiddly, as some of the commands were 'fussy', but it worked.   Later on, I got the .FID activated to allow for C:, D: etc drives using DOS directories (folders) which remain accessible after exiting the system, so then it's MUCH easier, but you do need the later version of the CPM system.

Hmm, afterthought, I'll just use Joyce to copy the XBASIC file onto a boot disk so that I can just do it all on A: - all I'm trying to achieve just now is to confirm that the EXBASIC system will work for me.

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 20:32, 13 February 20
Right, I've got a boot disk with BASIC.COM and EXBASIC.COM.

I've gone into CP/M BOX and booted using this disk.   Operation normal at this stage.

When I try to run EXBASIC, I get the initial screen, and then immed the A> prompt.   No hint of BASIC.COM being accessed.

Repeat gives the same result.

At this stage, I enter BASIC and system goes into BASIC as normal.   I exit back to A>

When I enter EXBASIC again, this time I get the same sign-on message, followed by the message 'Syntax Error' followed by 'ok' on the next line, then a blank line, then the A> prompt.   The message Syntax Error etc must be generated by BASIC - surely - I don't think it's coming from EXBASIC, which SEEMS to be the ONLY prog that might be active at than moment.

So, CP/M BOX seems to be just the same as Joyce.

Title: Re: EXBASIC for Amstrad PCW
Post by: JohnElliott on 00:53, 14 February 20
My suspicion is that EXBASIC is specific to Mallard BASIC 1.29, and doesn't work properly with other versions. But that's only based on the briefest of tests.
Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 02:04, 14 February 20
John !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

I'm half asleep, but I've managed to try to run EXBASIC with Basic 1.29 (yes, I have a little collection of BASIC files, so I had one for 1.29, and YES, the one I'd been trying was 1.48).

Lo and behold, when I tried this, I got the sign on message for EXBASIC, followed by that for BASIC 1.29, exactly as advertised.   This looks VERY hopeful!!

Tomorrow, I'll bring the various bits together onto 1 disk, incl the demo progs, and I'll see what happens.   Stand by!

A Zillion thanks John.
Title: Re: EXBASIC for Amstrad PCW
Post by: HigashiJun on 05:56, 14 February 20
Good news !


Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 13:37, 14 February 20

Tried some things this morning.

It's working, but...

I'm pretty sure the use of BASIC v 1.29 helps, but looks like it needs the 1.4 system file as well.   I'm pretty sure that the 1.4 system was the system that BASIC 1.29 would have come with, so that's consistent at least.

If I use the 1.4 system, with 1.29 BASIC, on A:, then it seems to work fine.   But on B:, which I would prefer, seems NOT.   But there are two sides to the 'boot' disk, A and B, and we don't know why the difference, so I'm wondering if part of the difference regards using A: or B:, so I need to get both versions of EXBASIC (which ARE slightly different) ready to try and check this out.

This just leaves the problem that I have the uIDE drives, and to support this I need a later version of the system.   1.4 will NOT work for this.   I'll try the 1.07H just in case, but I'll not rely on that.  This isn't a disaster, I keep a boot disk for 1.4 anyway for something else (the FORMAT prog for my 5.25" drive has a problem with the later systems).   Just an inconvenience.

I'll see how it goes.

However, the EXBASIC system does work, given the RIGHT environment.   Have to play about, and see what can be done with it.

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 16:31, 14 February 20
After further checking, I've now determined that System 1.4 and BASIC 1.29 do work OK, and using B: as well.   Previous triel was picking up another BASIC, once I made sure it got a 1.29 then OK.

Checked things with system 1.07, allowing access to uIDE, and this works OK as well.   Maybe the later systems will be OK, but my boot disks for them have other things on, RTC and WHM (Write Hand Man) and these may be doing things and causing a problem.

Important thing, the EXBASIC seems to be working fine.  Demos very interesting, incl the loading of the .SCR files (images) although very slow.

Much check if the EXBASIC graphics will work with the big print system I have.   They may conflict??

Title: Re: EXBASIC for Amstrad PCW
Post by: GeoffB17 on 02:19, 15 February 20
Just to confirm, I added the commands to the 1.07H startup to load the WHM (memory resident system) and then EXBASIC refused to load.   I took the commands out again, and EXBASIC now loads again fine.   So this IS the problem.   It could well be that the later system variants, which I normally use to enable the uIDE facilities, WILL work if I remove the WHM startup.

However, I'd usually like to have WHM available, so I'll leave the newer systems as they are, and if I wish to use EXBASIC I'll use 1.07H.

Title: Re: EXBASIC for Amstrad PCW
Post by: jevicac on 13:36, 24 February 20

Hello, from PCWwiki we leave this link in case you want more information.

http://www.habisoft.com/pcwwiki/doku.php?id=es:aplicaciones:exbasic_nabitchi (http://www.habisoft.com/pcwwiki/doku.php?id=es:aplicaciones:exbasic_nabitchi)
Title: Re: EXBASIC for Amstrad PCW
Post by: HigashiJun on 05:33, 25 February 20
Thanks !

Your website is a real treasure house for PCW owners.


Title: Re: EXBASIC for Amstrad PCW
Post by: jevicac on 13:22, 25 February 20
Thank you very much, it is a pleasure to concentrate all the material of the Amstrad PCW´s for the users. regards