Installing Classic Mac implementation of BBC BASIC
Moderators: Cat_7, Ronald P. Regensburg
-
- Space Cadet
- Posts: 5
- Joined: Sun May 03, 2020 1:03 pm
Installing Classic Mac implementation of BBC BASIC
I'm trying to do some metaphorical archaeology around the BBC BASIC language, and the implementation for the Classic Mac seems to have some differences I'd like to understand.
There is a download for BBC BASIC for Mac here: http://www.mdfsnet.f9.co.uk/Software/BBCBasic/Mac/
The installation is supposed to be in the Mac.zip file. Unfortunately I cannot get Stuffit Expander 5.5 to extract the Zip file. It gives the error message "Unknown zip header format encountered. This operation cannot continue."
Anybody able to give me any hints around getting that software installed?
Failing that, does anybody have a working installation of BBC BASIC on the Mac? I'm primarily interested in getting a listing of the example program "Maze" that comes with it.
There is a download for BBC BASIC for Mac here: http://www.mdfsnet.f9.co.uk/Software/BBCBasic/Mac/
The installation is supposed to be in the Mac.zip file. Unfortunately I cannot get Stuffit Expander 5.5 to extract the Zip file. It gives the error message "Unknown zip header format encountered. This operation cannot continue."
Anybody able to give me any hints around getting that software installed?
Failing that, does anybody have a working installation of BBC BASIC on the Mac? I'm primarily interested in getting a listing of the example program "Maze" that comes with it.
- Ronald P. Regensburg
- Expert User
- Posts: 7835
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
Re: Installing Classic Mac implementation of BBC BASIC
Maybe try MacZip for unzipping?
On the Macintosh Garden site look for MacZip.
Edit: If the zip archive was created in OSX, you could try MiniUnZp or miniunz, both in this forum topic:
https://www.emaculation.com/forum/viewt ... f=1&t=8322
On the Macintosh Garden site look for MacZip.
Edit: If the zip archive was created in OSX, you could try MiniUnZp or miniunz, both in this forum topic:
https://www.emaculation.com/forum/viewt ... f=1&t=8322
Last edited by Ronald P. Regensburg on Sun May 03, 2020 1:50 pm, edited 2 times in total.
Reason:
Reason:
-
- Space Cadet
- Posts: 5
- Joined: Sun May 03, 2020 1:03 pm
Re: Installing Classic Mac implementation of BBC BASIC
Thanks for the tip. Well, it recognised the archive, but MacZip crashed while attempting to unpack it:
Basilisk II V1.0 by Christian Bauer et al.
Reading ROM file...
WARNING: Cannot open /dev/cdrom (No such file or directory)
Using /dev/dsp audio output
WARNING: InsTime(): Task re-inserted
WARNING: InsTime(): Task re-inserted
Caught SIGSEGV at address 0x10fffffff [IP=0x7811d83f]
D0: 03929c54 D1: 00000009 D2: 00000003 D3: 00000003
D4: 03920001 D5: 03929c54 D6: 00000001 D7: 00000000
A0: ffffffff A1: 000ba826 A2: 02df1d2c A3: 0392e054
A4: 03929bdc A5: 0392a4d0 A6: 03929cd0 A7: 03929bd8
USP=00000000 ISP=03929bd8 MSP=00000000 VBR=00000000
T=00 S=1 M=0 X=0 N=1 Z=0 V=0 C=0 IMASK=0
FP0: nan FP1: nan FP2: nan FP3: nan
FP4: nan FP5: nan FP6: nan FP7: nan
N=0 Z=0 I=0 NAN=0
0400b724: 1950 0031 1968 0001 0032 MOVE.B (A0),(A4,$0031) == $03929c0d
next PC: 0400b728
[0000000000000000]-> c
*** Required argument missing
[0000000000000000]-> continue
*** Unknown command
[0000000000000000]-> ?
*** Required argument missing
[0000000000000000]-> ?anythign
*** Required argument missing
[0000000000000000]-> x
... I had to quit the emulator as I didn't know how to actually use the debugger, sorry. %a0 doesn't look like the kind of address you can safely dereference, not that I actually know anything about the Mac memory map.
Basilisk II V1.0 by Christian Bauer et al.
Reading ROM file...
WARNING: Cannot open /dev/cdrom (No such file or directory)
Using /dev/dsp audio output
WARNING: InsTime(): Task re-inserted
WARNING: InsTime(): Task re-inserted
Caught SIGSEGV at address 0x10fffffff [IP=0x7811d83f]
D0: 03929c54 D1: 00000009 D2: 00000003 D3: 00000003
D4: 03920001 D5: 03929c54 D6: 00000001 D7: 00000000
A0: ffffffff A1: 000ba826 A2: 02df1d2c A3: 0392e054
A4: 03929bdc A5: 0392a4d0 A6: 03929cd0 A7: 03929bd8
USP=00000000 ISP=03929bd8 MSP=00000000 VBR=00000000
T=00 S=1 M=0 X=0 N=1 Z=0 V=0 C=0 IMASK=0
FP0: nan FP1: nan FP2: nan FP3: nan
FP4: nan FP5: nan FP6: nan FP7: nan
N=0 Z=0 I=0 NAN=0
0400b724: 1950 0031 1968 0001 0032 MOVE.B (A0),(A4,$0031) == $03929c0d
next PC: 0400b728
[0000000000000000]-> c
*** Required argument missing
[0000000000000000]-> continue
*** Unknown command
[0000000000000000]-> ?
*** Required argument missing
[0000000000000000]-> ?anythign
*** Required argument missing
[0000000000000000]-> x
... I had to quit the emulator as I didn't know how to actually use the debugger, sorry. %a0 doesn't look like the kind of address you can safely dereference, not that I actually know anything about the Mac memory map.
- Ronald P. Regensburg
- Expert User
- Posts: 7835
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
Re: Installing Classic Mac implementation of BBC BASIC
So you are running BasiliskII. You did not mention your host system.
On OSX/macOS the archive can be expanded without issues, so it may be an archive that was created in OSX/macOS. If that is true, then the above mentioned MiniUnZip or miniunz should work in classic MacOS.
Regardless your host OS, enable 'Ignore Illegal Memory Accesses' in GUI, or in prefs file set ignoresegv to true: That may lower the number of inevitable SIGSEGV crashes with these emulators. (They do things in memory that they shouldn't.)
On OSX/macOS the archive can be expanded without issues, so it may be an archive that was created in OSX/macOS. If that is true, then the above mentioned MiniUnZip or miniunz should work in classic MacOS.
Regardless your host OS, enable 'Ignore Illegal Memory Accesses' in GUI, or in prefs file set ignoresegv to true:
Code: Select all
ignoresegv true
-
- Space Cadet
- Posts: 5
- Joined: Sun May 03, 2020 1:03 pm
Re: Installing Classic Mac implementation of BBC BASIC
Thanks for your help.
I have been able to unpack the archive on MacOS (with both unzip and with ditto). But the unpacked files don't look right; there is a "BBC BASIC" file but it is short - at 256 bytes, too short to be the interpreter. Perhaps the archive at http://www.mdfsnet.f9.co.uk/Software/BBCBasic/Mac/ just isn't a workikng version.
I have been able to unpack the archive on MacOS (with both unzip and with ditto). But the unpacked files don't look right; there is a "BBC BASIC" file but it is short - at 256 bytes, too short to be the interpreter. Perhaps the archive at http://www.mdfsnet.f9.co.uk/Software/BBCBasic/Mac/ just isn't a workikng version.
Re: Installing Classic Mac implementation of BBC BASIC
Would it be OK to create a page at Macintoshgarden for BBC Basic?
The app runs with SheepShaver, Basilisk II and MiniVMac II.
Looks best with MiniVMac II and System 7.1 methinks.
The app runs with SheepShaver, Basilisk II and MiniVMac II.
Looks best with MiniVMac II and System 7.1 methinks.
Re: Installing Classic Mac implementation of BBC BASIC
I unpacked the file with the standard archive utility in Sierra, then copied the folder to a disk image for Qemu and that works just fine.
So also runs in Qemu with Mac OS 9.2
Best,
Cat_7
So also runs in Qemu with Mac OS 9.2
Best,
Cat_7
-
- Space Cadet
- Posts: 5
- Joined: Sun May 03, 2020 1:03 pm
Re: Installing Classic Mac implementation of BBC BASIC
Sure, go ahead if you like.24bit wrote:Would it be OK to create a page at Macintoshgarden for BBC Basic?
The app runs with SheepShaver, Basilisk II and MiniVMac II.
Looks best with MiniVMac II and System 7.1 methinks.
I wasn't able to unpack the zip file and (even using minunz-101ed6.sit) get any output files that seemed executable. Opening the "BBC BASIC" file jst yields an error message box saying, "The document "BBC BASIC" could not be opened, because the application program that created it could not be found"
I'm a bit exasperated and dispirited, tbh. I guess my grasp of Mac OS Classic isn't up to this.
If anybody has it actually working though, they may be able to save me the pain of figuring this out. I would like to know the full text of line 490 of one of the example programs which comes inside the installation, called "Maze" The line says something like
490 I-don't-know-what-here X%,Y%,Z%
I need to know what the whole line is. If you've started BBC basic, you can probably do this with
LISTO 0
LIST 490
Thanks.
Re: Installing Classic Mac implementation of BBC BASIC
Here is a link to a small (20Mb) disk image with the BBCBasic files extracted.
It can be added to the volumes list in SheepShaver etc.
https://surfdrive.surf.nl/files/index.p ... 5/download
Please let me know when you downloaded it so I can delete it again.
Best,
Cat_7
It can be added to the volumes list in SheepShaver etc.
https://surfdrive.surf.nl/files/index.p ... 5/download
Please let me know when you downloaded it so I can delete it again.
Best,
Cat_7
Re: Installing Classic Mac implementation of BBC BASIC
Maybe this is what you are looking for?
The files are here, disk images compressed with Stuffit 3.6.
Maybe you can fill in some details?
https://macintoshgarden.org/apps/bbc-ba ... -macintosh
Edit: Cat_7 was too fast for me.
The files are here, disk images compressed with Stuffit 3.6.
Maybe you can fill in some details?
https://macintoshgarden.org/apps/bbc-ba ... -macintosh
Edit: Cat_7 was too fast for me.
-
- Space Cadet
- Posts: 5
- Joined: Sun May 03, 2020 1:03 pm
Re: Installing Classic Mac implementation of BBC BASIC
All done. This was very helpful indeed. I learned much more than I expected (the file format of the Mac dialect of BBC BASIC is very different to what I had assumed it to be).Cat_7 wrote: Please let me know when you downloaded it so I can delete it again.
Best,
Cat_7
Re: Installing Classic Mac implementation of BBC BASIC
FYI: the 256-byte file is the "data fork" of the application. The "resource fork" is stored as "._BBC BASIC" in the __MACOSX folder. The same applies to the rest of the files.toast_marketing wrote: I have been able to unpack the archive on MacOS (with both unzip and with ditto). But the unpacked files don't look right; there is a "BBC BASIC" file but it is short - at 256 bytes, too short to be the interpreter.
When properly unzipped on a Macintosh filesystem, these two forks are invisibly combined into single files. When improperly unzipped, the forks are largely useless. Without miniunz, it is possible to use the procedure outlined here to do the job.