Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

S-BASIC Manual

337 views
Skip to first unread message

fridtjof.ma...@gmail.com

unread,
Sep 30, 2022, 3:11:47 PM9/30/22
to
Does anyone have

1 - Scan of the S-BASIC manual (Kaypro) SBASIC.COM 5.4b is the
preferred version, but anything is welcome.

2 - There are some claims that the source for S-BASIC itself was
supplied (sometimes). Does anyone have that?

Fred Weigel

fridtjof.ma...@gmail.com

unread,
Oct 4, 2022, 2:46:31 PM10/4/22
to
No answers yet... I presume then that these are "gone"?

FredW

Captain Nemo

unread,
Oct 4, 2022, 4:19:28 PM10/4/22
to
>> 1 - Scan of the S-BASIC manual (Kaypro) SBASIC.COM 5.4b is the
>> preferred version, but anything is welcome.
>>
>> 2 - There are some claims that the source for S-BASIC itself was
>> supplied (sometimes). Does anyone have that?
>>
>> Fred Weigel
> No answers yet... I presume then that these are "gone"?

I've never seen the source code anywhere for S-BASIC, so you are probably
right about being "gone".

I assume that you've done the usual checks (like archive.org) for a scan
of the S-BASIC manual and come up empty. If that's the case, you are
probably out of luck there too.

I have the paper version of the manual that I use on my Kaypro 4/83.

I think the reason you don't see much about S-BASIC is because Turbo
Pascal was so much better.

I did some experiments last year with S-BASIC. Basically, I converted
some simple MS-BASIC programs over to both S-BASIC and Turbo Pascal. The
amount of work needed was about the same - since S-BASIC is BASIC in some
keywords only.

But the overall experience between S-BASIC and Turbo Pascal made S-BASIC
look pretty dated. There was no IDE for S-BASIC. So it was fire up a
text editor, enter your code, save, exit, fire up the compiler (which took
much longer than Turbo Pascal), see you had an error. Remember the error
line number, fire up the editor again, fix your error, exit the editor,
run the compiler again. Ugh!

If Turbo Pascal hadn't come out, S-BASIC would probably have gotten more
traction, but with Turbo Pascal as a competitor, there was no draw for S-
BASIC and it languished.

There is a Kaypro S-BASIC manual on eBay right now for a reasonable
price. I do remember seeing that today.

Stephen Mitchell

unread,
Oct 5, 2022, 11:47:10 AM10/5/22
to
On Friday, September 30, 2022 at 3:11:47 PM UTC-4, fridtjof.ma...@gmail.com wrote:
Fred--
I have a scan (PDF) I made from my paper copy of the manual. I'll be happy to email you a copy. Your email address is truncated by google groups, but if you email me at ssmitch at gmail dot com I'll send it to you. By the way, although I agree with Captain Nemo that interest in S-BASIC pretty much fell by the wayside with the introduction of Turbo Pascal, with it's far superior user interface, S-BASIC had a number of interesting features and I wrote a number of programs with it "back in the day." I still have it up and running (I use myz80 running under DosBox on a Windows 7 machine) but only for playing around. If you check out Rosetta Code, there are about 20 examples of S-BASIC code that I have uploaded to that site. As far as I know, the source code was never a part of the distribution, but there is a suggestion in the manual (see the discussion of I/O channel 9) that at one point it was planned to include the source code for one of the two supplied libraries (USRLIB.REL) in the distribution. But as far as I know, this was never done.

Steve Mitchell

Jasmin Loves The Ocean

unread,
Oct 18, 2022, 7:51:37 AM10/18/22
to
Hi Steve,
Could you please copy me in on a scan of the manual? I've been trying to track one down as well and have had no joy, and it'd be MUCH appreciated! :) Would it be worth putting a copy with the Internet Archive for the sake of preservation?

Jasmin

Stephen Mitchell

unread,
Oct 20, 2022, 3:59:49 PM10/20/22
to
Be

I'll be happy to. But Google Groups doesn't show me your email address, so please send me a follow up email to ssmitch at gmail dot com. Several folks have received a copy since my initial response, and I agree it would be a good idea if someone who has received it can post it to a site where others can find it.

Steve

Tom Lake

unread,
Oct 27, 2022, 3:50:12 PM10/27/22
to
On Thursday, October 20, 2022 at 3:59:49 PM UTC-4, Stephen Mitchell wrote:

> I'll be happy to. But Google Groups doesn't show me your email address, so please send me a follow up email to ssmitch at gmail dot com. Several folks have received a copy since my initial response, and I agree it would be a good idea if someone who has received it can post it to a site where others can find it.
>
> Steve
It (along with the compiler itself) is on

https://web.archive.org/web/20170103152642/http://www.nostalgia8.nl/cpm/basic/sbasic.zip

Stephen Mitchell

unread,
Oct 28, 2022, 7:12:04 PM10/28/22
to
Sadly, while the zip file includes an introduction, some programming notes, and a HLP file I wrote way back when (1987?), it does not include the manual itself. I would love to upload the manual to some place where folks could easily find it and would be grateful for any suggestions.

Steve

Martin

unread,
Oct 29, 2022, 7:03:52 AM10/29/22
to
A good home would be

Gene Buckle's "Commercial CP/M Software Archive"
<http://www.retroarchive.org/>

Thank you very much!
Martin

Kurt Pieper

unread,
Oct 30, 2022, 9:03:50 PM10/30/22
to
Hi,

here a test with SBASIC.

comment
mem.bas -- display CP/M memory map
written for SBASIC compiler
Addresses for BDOS and CCP are calculated from BIOS base
and will reflect actual rather than apparent locations.
TPA calculation will therefore correctly reflect reduction
in available memory that occurs when a resident system
extension (RSX) is installed.
Update Kurt Pieper Germany
end

var msize, tpa = real
var rsx_installed = string : 5
var home, rvs, nrm curon, curoff = string : 6
var clr, cleol, cleos = string : 3

clr = chr$(12)
home = chr$(27) + "[1;1H"
rvs = chr$(27) + "[7m"
nrm = chr$(27) + "[0m"
cleol = chr$(27) + "[K"
cleos = chr$(27) + "[J"
curon = chr$(27) + "[?25h"
curoff = chr$(27) + "[?25l"

print home;clr;curoff;
print "SBASIC Date: 10/30/2022 "
print "Test with Z80 Board (sc114)"
print
print "Start of BIOS : "; hex$(peek(2) * 100H)
print "Start of BDOS : "; hex$((peek(2) - 0EH) * 100H + peek(6))
print "Start of CCP : "; hex$((peek(2) - 16H) * 100H)
print

msize = 256 * peek(2) rem BIOS base
msize = msize - 18944 rem BIOS address in 20K system
msize = (msize / 1024) + 20 rem adjust and convert to K

rem Calculate available TPA in K based on apparent BDOS address
tpa = 256 * (peek(7) - 1) / 1024

print "CP/M size :"; msize; "K"
print "Available TPA :"; tpa; "K"

rem check whether actual and apparent BDOS entries differ
if peek(2) - 0EH = peek(7) then
rsx_installed = "No"
else
rsx_installed = "Yes"

print "RSX installed : "; rvs;rsx_installed;nrm

var x=char
print
input2 "End --> Press <Ret> to continue";x
PRINT "bye";curon

end


0 new messages