Author Topic: Liberty Basic for OS/2  (Read 6928 times)

Tuure Linden

  • Jr. Member
  • **
  • Posts: 88
  • Karma: +0/-0
    • View Profile
Liberty Basic for OS/2
« on: November 15, 2020, 05:14:43 am »
I have downloaded the free 0.9 beta version of Liberty Basic from Hobbes but it doesn't work. Is there a way to run this under ArcaOS? The following ERROR.LOG is produced:
Code: [Select]
Error log timestamp Sunday 15.11.20 05.52.49

MessageNotUnderstood>>defaultAction
MessageNotUnderstood(Exception)>>activateHandler:
MessageNotUnderstood(Exception)>>handle
MessageNotUnderstood(Exception)>>signal
MessageNotUnderstood class>>message:
UndefinedObject(Object)>>doesNotUnderstand: (pen)
Pen(GraphicsTool)>>handle
Pen(TextTool)>>rawCharacterBox:
Pen(TextTool)>>adjustFontSize
Pen(TextTool)>>font:
Pen(TextTool)>>handle:
Pen class(GraphicsTool class)>>for:medium:
Bitmap>>restoreBitmap
Bitmap>>validate
Bitmap>>handle
Icon>>createPointerIndirect:flag:
BasicSourceTopPane(ApplicationWindow)>>icon:
BasicSourceTopPane(ApplicationWindow)>>buildIcon
BasicSourceTopPane(ApplicationWindow)>>buildWindow
BasicSourceTopPane(ApplicationWindow)>>validateBuild
[] in BasicSourceTopPane(ApplicationWindow)>>validate
ProtectedFrameMarker(Context)>>setUnwind:
ZeroArgumentBlock(Context)>>ensure:
CursorManager>>changeFor:
BasicSourceTopPane(ApplicationWindow)>>validate
[] in BasicSourceTopPane(ApplicationWindow)>>openIn:
ProtectedFrameMarker(Context)>>setUnwind:
ZeroArgumentBlock(Context)>>ifCurtailed:
BasicSourceTopPane(ApplicationWindow)>>openIn:
BasicSourceTopPane(ApplicationWindow)>>openWindow
[] in BasicSourceWindow(ViewManager)>>openWindow
OrderedCollection>>do:
BasicSourceWindow(ViewManager)>>openWindow
BasicSourceWindow>>openOn:
BasicSourceWindow class>>open
Message>>perform
NotificationManager>>empty
NotificationManager>>runEventLoop
Message>>perform
Message>>evaluate
Process>>safelyEvaluate:
[] in Process>>evaluate:
« Last Edit: November 15, 2020, 05:57:54 pm by Martin Iturbide »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4710
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Liberty Basic for OS/2
« Reply #1 on: November 15, 2020, 05:56:46 pm »
Hi.

I confirm a similar error with "https://hobbes.nmsu.edu/download/pub/os2/dev/basic/lb091.zip" on my ArcaOS VM. But the program does not quit, it keeps running on the background. I have no idea how to use Liberty Basic by the way.

Code: [Select]

Error log timestamp Wednesday 11/04/20 08:19:40 pm

MessageNotUnderstood>>defaultAction
MessageNotUnderstood(Exception)>>activateHandler:
MessageNotUnderstood(Exception)>>handle
MessageNotUnderstood(Exception)>>signal
MessageNotUnderstood class>>message:
UndefinedObject(Object)>>doesNotUnderstand: (pen)
Pen(GraphicsTool)>>handle
Pen(TextTool)>>rawCharacterBox:
Pen(TextTool)>>adjustFontSize
Pen(TextTool)>>font:
Pen(TextTool)>>handle:
Pen class(GraphicsTool class)>>for:medium:
Bitmap>>restoreBitmap
Bitmap>>validate
Bitmap>>handle
Icon>>createPointerIndirect:flag:
BasicSourceTopPane(ApplicationWindow)>>icon:
BasicSourceTopPane(ApplicationWindow)>>buildIcon
BasicSourceTopPane(ApplicationWindow)>>buildWindow
BasicSourceTopPane(ApplicationWindow)>>validateBuild
[] in BasicSourceTopPane(ApplicationWindow)>>validate
ProtectedFrameMarker(Context)>>setUnwind:
ZeroArgumentBlock(Context)>>ensure:
CursorManager>>changeFor:
BasicSourceTopPane(ApplicationWindow)>>validate
[] in BasicSourceTopPane(ApplicationWindow)>>openIn:
ProtectedFrameMarker(Context)>>setUnwind:
ZeroArgumentBlock(Context)>>ifCurtailed:
BasicSourceTopPane(ApplicationWindow)>>openIn:
BasicSourceTopPane(ApplicationWindow)>>openWindow
[] in BasicSourceWindow(ViewManager)>>openWindow
OrderedCollection>>do:
BasicSourceWindow(ViewManager)>>openWindow
BasicSourceWindow>>openOn:
BasicSourceWindow class>>open
Message>>perform
NotificationManager>>empty
NotificationManager>>runEventLoop
Message>>perform
Message>>evaluate
Process>>safelyEvaluate:
[] in Process>>evaluate:


Error log timestamp Wednesday 11/04/20 08:22:38 pm

MessageNotUnderstood>>defaultAction
MessageNotUnderstood(Exception)>>activateHandler:
MessageNotUnderstood(Exception)>>handle
MessageNotUnderstood(Exception)>>signal
MessageNotUnderstood class>>message:
UndefinedObject(Object)>>doesNotUnderstand: (pen)
Pen(GraphicsTool)>>handle
Pen(TextTool)>>rawCharacterBox:
Pen(TextTool)>>adjustFontSize
Pen(TextTool)>>font:
Pen(TextTool)>>handle:
Pen class(GraphicsTool class)>>for:medium:
Bitmap>>restoreBitmap
Bitmap>>validate
Bitmap>>handle
Icon>>createPointerIndirect:flag:
BasicSourceTopPane(ApplicationWindow)>>icon:
BasicSourceTopPane(ApplicationWindow)>>buildIcon
BasicSourceTopPane(ApplicationWindow)>>buildWindow
BasicSourceTopPane(ApplicationWindow)>>validateBuild
[] in BasicSourceTopPane(ApplicationWindow)>>validate
ProtectedFrameMarker(Context)>>setUnwind:
ZeroArgumentBlock(Context)>>ensure:
CursorManager>>changeFor:
BasicSourceTopPane(ApplicationWindow)>>validate
[] in BasicSourceTopPane(ApplicationWindow)>>openIn:
ProtectedFrameMarker(Context)>>setUnwind:
ZeroArgumentBlock(Context)>>ifCurtailed:
BasicSourceTopPane(ApplicationWindow)>>openIn:
BasicSourceTopPane(ApplicationWindow)>>openWindow
[] in BasicSourceWindow(ViewManager)>>openWindow
OrderedCollection>>do:
BasicSourceWindow(ViewManager)>>openWindow
BasicSourceWindow>>openOn:
BasicSourceWindow class>>open
Message>>perform
NotificationManager>>empty
NotificationManager>>runEventLoop
Message>>perform
Message>>evaluate
Process>>safelyEvaluate:
[] in Process>>evaluate:
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Olafur Gunnlaugsson

  • Full Member
  • ***
  • Posts: 244
  • Karma: +5/-0
    • View Profile
Re: Liberty Basic for OS/2
« Reply #2 on: November 15, 2020, 10:08:26 pm »
Carl Gundel, the author of LB was on this site a year or two ago asking for help with a Warp setup so he could finish sorting out old bugs. You should also try True Basic, demo is on Hobbes, still available commercially although with limited or no support for USD 25, actually quite good in some respects.

http://www.truebasic.com/OS2

BTW Liberty Basic is a tad slow, its interpreter was developed in Smalltalk, which is not the ideal environment for such.

Tuure Linden

  • Jr. Member
  • **
  • Posts: 88
  • Karma: +0/-0
    • View Profile
Re: Liberty Basic for OS/2
« Reply #3 on: November 21, 2020, 10:59:21 am »
I've tried the demo version of TrueBasic. The problem is that it also crashes and I don't want to take the risk that the 25$ goes to waste if the software doesn't work. The demo version should run the demo programs included, shouldn't it? My problem with TrueBasic is that it runs but when I open one of the demo programs included and try to run it then it crashes. Same goes if I write a basic program myself and try to run it.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: Liberty Basic for OS/2
« Reply #4 on: November 21, 2020, 05:50:08 pm »
What was the crash?

Tuure Linden

  • Jr. Member
  • **
  • Posts: 88
  • Karma: +0/-0
    • View Profile
Re: Liberty Basic for OS/2
« Reply #5 on: November 22, 2020, 09:57:09 am »
It just crashes without any warnings or error messages. When I run TBBRONZE.EXE there's a message box that says "This demonstration version of Tue BASIC will run for 15 minutes". After I close that, two windows will appear, a command window and a file open dialog. When I open a demo file (i.e. ARROW.TRU) the code editor will appear. It has menus such as File, Edit, Run, Window, Settings and Help for True BASIC. When I select the Run option from the Run menu, all the windows will just close immediately.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: Liberty Basic for OS/2
« Reply #6 on: November 22, 2020, 10:37:17 am »
Any entries in X:\POPUPLOG.OS2 ? X: is your boot volume.

Tuure Linden

  • Jr. Member
  • **
  • Posts: 88
  • Karma: +0/-0
    • View Profile
Re: Liberty Basic for OS/2
« Reply #7 on: November 22, 2020, 06:17:43 pm »
------------------------------------------------------------

11-22-2020  19:14:10  SYS3170  PID 005b  TID 0001  Slot 00a5
C:\TBBRONZE\TBBRONZE.EXE
c0010001
1ffde411
EAX=18c73b70  EBX=18c73b70  ECX=00000000  EDX=00000000
ESI=00000001  EDI=00000000 
DS=0053  DSACC=d0f3  DSLIM=5fffffff 
ES=0053  ESACC=d0f3  ESLIM=5fffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1eca9a07  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:00080000  SSACC=d0f3  SSLIM=5fffffff
EBP=000d04b0  FLG=00010246

DOSCALL1.DLL 0003:0000e411

------------------------------------------------------------

11-22-2020  19:14:10  SYS3170  PID 005b  TID 0001  Slot 00a5
C:\TBBRONZE\TBBRONZE.EXE
c0010001
1ffde411
EAX=00000000  EBX=00000000  ECX=00000000  EDX=00000000
ESI=00000000  EDI=00000000 
DS=0053  DSACC=d0f3  DSLIM=5fffffff 
ES=0053  ESACC=d0f3  ESLIM=5fffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:12e9b7b0  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:0007fff4  SSACC=d0f3  SSLIM=5fffffff
EBP=00000000  FLG=00010246

DOSCALL1.DLL 0003:0000e411

------------------------------------------------------------

11-22-2020  19:15:40  SYS3175  PID 0070  TID 0001  Slot 00a6
C:\TBBRONZE\TBBRONZE.EXE
c0000005
00062570
P1=00000001  P2=00000000  P3=XXXXXXXX  P4=XXXXXXXX 
EAX=00000000  EBX=00404a09  ECX=00000800  EDX=00002000
ESI=00000000  EDI=00000000 
DS=0053  DSACC=d0f3  DSLIM=5fffffff 
ES=0053  ESACC=d0f3  ESLIM=5fffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:00062570  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:000d034c  SSACC=d0f3  SSLIM=5fffffff
EBP=000d0354  FLG=00010206

TBBRONZE.EXE 0001:00052570

------------------------------------------------------------

11-22-2020  19:15:40  SYS3170  PID 0070  TID 0001  Slot 00a6
C:\TBBRONZE\TBBRONZE.EXE
000100db
00000000
EAX=18c73b70  EBX=18c73b70  ECX=00000000  EDX=00000000
ESI=00000001  EDI=00000000 
DS=0053  DSACC=d0f3  DSLIM=5fffffff 
ES=0053  ESACC=d0f3  ESLIM=5fffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1eca9a07  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:00080000  SSACC=d0f3  SSLIM=5fffffff
EBP=000d04b0  FLG=00010246

------------------------------------------------------------

11-22-2020  19:15:40  SYS3170  PID 0070  TID 0001  Slot 00a6
C:\TBBRONZE\TBBRONZE.EXE
000100db
00000000
EAX=00000000  EBX=00000000  ECX=00000000  EDX=00000000
ESI=00000000  EDI=00000000 
DS=0053  DSACC=d0f3  DSLIM=5fffffff 
ES=0053  ESACC=d0f3  ESLIM=5fffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:12e2b7b0  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:0007fff4  SSACC=d0f3  SSLIM=5fffffff
EBP=00000000  FLG=00010246

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: Liberty Basic for OS/2
« Reply #8 on: November 22, 2020, 06:38:31 pm »
Ok. I was hoping it was something simpler like a mismatched library. I don't know enough about the internals of DosCalls to say where the crash is happening.

Sandra Asja Eickel

  • Newbie
  • *
  • Posts: 31
  • Karma: +1/-0
    • View Profile
Re: Liberty Basic for OS/2
« Reply #9 on: November 22, 2020, 08:01:00 pm »
Hello Tuure and Dave,

Software from that age might not be compatible with SMP (or with current CPU speeds).
Your can try ACPI with /MAXCPU=1 or mark the executable as being not-SMP-compatible.
A third option would be to use the W4 Kernel together with its DOSCALL1.DLL.
Perhaps this helps - at least if it is SMP related.

I had to mark the graphics program IMPOS2 back in time on my WarpServer Advanced SMP to use only one CPU.
Only with eComStation SMP and JFS reached endusers, the stock OS/2 from IBM supported only a simple CPU.

Greetings,
Sandra-Asja