Basic programming tools

Development tools discussion area.
Post Reply
User avatar
Elminster
Posts: 2338
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Basic programming tools

Post by Elminster » Wed May 24, 2017 2:15 am

There seems to be a raft of assembly type tools but when it comes to basic there don't appear to be quite the variety. Also doesn't help I am using a Master with a 2nd 65c02 copro.

- So far I have play and adopted the basic editor, it plays nicely.
- Sleuth doesn't like coprocessor and seems a bit flakey even with it off (more stable on beebem oddly)
- Toolkit plus seems a bit random, I suspect copro causing a few issues with sim cmdrs ... maybe.

Are there any other tools worth considering?

User avatar
jgharston
Posts: 3090
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Basic programming tools

Post by jgharston » Wed May 24, 2017 9:46 am

A BASIC cruncher is often useful. That way you can write verbose source code and crunch it down into smaller executable code.

I wrote a *CRUNCH command to do this, and in combination with something I called *LINK. *LINK removes unused subroutines from a program, so allows you to build up a program from multiple pre-written parts and then remove the bits that aren't needed. I call it 'link' from the similar 'link' stage of a compiler system.

My usual method of working is to have an exec file something like:
LOAD "prog/src"
OS."LOAD part2 "+STR$~(TOP-2):END
OS."LOAD part3 "+STR$~(TOP-2):END
OS."LOAD %.BLib.Number "+STR$~(TOP-2):END
OS."LOAD %.BLib.FileIO "+STR$~(TOP-2):END
*LINK
*CRUNCH
1REM > Prog
SAVE "Prog"


In this example the program is written in three parts, prog/src, part2 part3, and it uses two shared library files, Number and FileIO. *EXECing the file loads the main part of the program, appends the extra parts, *LINK removes unused subroutines, *CRUNCH crunches the code, it adds a title line and saves the final result.

CRUNCH and LINK are here.
There is a demo of using the build system here.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
daveejhitchins
Posts: 4187
Joined: Wed Jun 13, 2012 5:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Basic programming tools

Post by daveejhitchins » Wed May 24, 2017 9:50 am

There's also 'Pack' in the ABE Utilities that you may find useful?

Dave H :D
Parts: UM6502CE, GAL22V10D, GAL16V8D, AS6C62256A, TC514400AZ, WD1772, R6522, TMS27C512, AT28C256
Products: ARA II, ABR, ATI, AP6, MGC, AP5 . . .
For a price list, contact me at: Retro Hardware AT dave ej hitchins DOT plus DOT com

User avatar
Elminster
Posts: 2338
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Basic programming tools

Post by Elminster » Wed May 24, 2017 10:02 am

I have seen crunched/packed BASIC programs and planned to have a look at that. so that gives me a quick pointer.

Reason I am after these are I currently writing the code on Mac, unix2dos, copy to Master, test, editting bugs etc. in ABE (as mentioned in other post today). Main reason I have to do this is the hardware on the Master I am using isnt in any of the Beeb emulators, and it is painfully to keep recopy when I put in a typo,.

Due to all the loops in the code (no gotos promise) TRACE ON is a bit of a pain, so end up putting prints all over the place. If it was Assmebly there are lots of lovely utils. I have just gone through Wouter's ROM archive flagging anythign that looks likeit might be a BASIC related ROM or Code. Will look all those up next.

Will probably have to see if I can work out why Sleuth not working very well.

Thanks.

User avatar
Elminster
Posts: 2338
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Basic programming tools

Post by Elminster » Wed May 24, 2017 11:03 am

My final list contains a few suspects, of course I dont seem to be able to see the manuals for them. Potentials are, hopefully someone knows what they do or if any good:

User avatar
Elminster
Posts: 2338
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Basic programming tools

Post by Elminster » Wed May 24, 2017 12:42 pm

Hmmm BB Master ROM doesnt look that applicable but interesting for other stuff.

MP Basic Extensions looks to do for Basic what GXP is to Graphics. (mixed review in Beebug 4.1p20)
Beebug basic booster also looks possible, although I suspect what it offer is available in other ROMS

CMS Multi Basic and H.Soft Basic give nothing away in their *HELP
cms_hsoft_basic_help.png
Just Chalice to look at.

EDIT: Plus the Help from MP Basic Extensions attached
Attachments
MP_Basic_Ext_HELP.rtf
(1.24 KiB) Downloaded 16 times
Beebug_Basic_Boaster_help.png
Beebug_Basic_Boaster_help.png (5.55 KiB) Viewed 283 times

User avatar
jgharston
Posts: 3090
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Basic programming tools

Post by jgharston » Wed May 24, 2017 2:39 pm

For debugging there's things like *VLIST (list variables) and there are ROM utilities that will let you single-step and trace running BASIC code.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
Elminster
Posts: 2338
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Basic programming tools

Post by Elminster » Wed May 24, 2017 2:45 pm

Thanks.

Think I have narrowed it down to using, futher investigation or try to get working

ABE
Your BasUtils
Sleuth
Toolkit Plus
BB Help (if I have no internet and cant google it!)
MP Extensions

Although there are a load of useful programs in other magazines I came across as well, but I am in danger of spending looker looking at utilities than the actual programming bit!

Post Reply