Jump to content
awesp

APESoft Expanded Basic routines

Recommended Posts

Greetings all,

 

I have two (soft) disks that contain the APESoft Expanded Basic routines. These routines were later included in the Mechatronics Extended Basic II Plus cartridge. The disk files are:

 

mecha2.dsk (the actual routines)

graphxb.dsk (example programs)

 

The program that loads them into memory ('LOAD') is:

 

10 CALL INIT

20 CALL LOAD("[email protected]")

30 CALL NEW

 

(The file '@XGGENINT' as well as 'LOAD' are both located on DSK1 - mecha2.dsk)

 

However, after RUNning the 'LOAD' program, the routines do not work. If I try to initialise them with the command 'CALL APESOFT', I get the error message 'SUBPROGRAM NOT FOUND'. The same happens if I try any of the other routines.

 

I'm running TI Extended Basic and I have a CF7+ installed, so it shouldn't be a memory problem. Would anyone know how to get this routines to work correctly? Any help/ideas/suggestions would be greatly appreciated.

 

Adam

Share this post


Link to post
Share on other sites

It's almost guaranteed that the functions are accessed via CALL LINK... maybe try CALL LINK("APESOFT") and see if that starts it up?

 

A CALL LOAD in itself can not add subprograms, as far as I know (or if it did, it would only be by adding them to the program, so you'd see them in a LIST).

Share this post


Link to post
Share on other sites

I think what is happening is that the LOAD program expects to see the mechatronics XB cartridge in the slot. I don't think CALL NEW is valid in standard XB and I know that CALL APESOFT is not. The CALL LOAD in line 20 should load the assembly subroutines into low memory using the slow XB assembly language loader, but these don't show up in the program.. Tursi's advice is good - if these routines worked with regular XB then there must have been a CALL LINK to something instead of the CALL APESOFT. If CALL LINK("APESOFT") doesn't do the trick the following program should display the contents of the DEF table;

 

10 FOR I=16376 TO 0 STEP -8

20 CALL PEEK(I,A,B,C,D,E,F)::PRINT CHR$(A)&CHR$(B)&CHR$( C )&CHR$(D)&CHR$(E)&CHR$(F) (take the spaces out of CHR$( C ))

30 NEXT I

 

(i think it is CHR$ - it's the one that is the reverse of ASC)

This isn't tested but should work. Stop the program when it starts to print garbage. It will show the names of all the assembly subroutines

Edited by senior_falcon

Share this post


Link to post
Share on other sites

Yes, CALL NEW is a subprogram of "Extended Basic Plus" or "Mechatronic/PS Extended Basic" (try in MESS with the cartridges "me_extended_basic.rpk" or "extended_basic_plus.rpk").

Share this post


Link to post
Share on other sites

Thank you very much Tursi, senior_falcon and mizapf for your suggestions. I'll give them a go!

Share this post


Link to post
Share on other sites

Hi Tursi, senior_falcon and mizapf,

 

I run the program suggested by senior_falcon and I did get the contents of the DEF table:

GRAFIC

SETCOL

ARCUS

etc.

I tried running some of the commands using the CALL LINK statement and most of them worked. Some didn't. I guess this is due to the fact that I'm using as a language guide the manual of the Mechatronics cartridge and not the original APESOFT manual (I couldn't find this one). For example, CALL LINK("GRAFIC",0) gives me a 'BAD ARGUMENT' error message, so I guess the parameters of this command must have changed between the original APESOFT routines and the Mechatronic's.

Edited by awesp

Share this post


Link to post
Share on other sites

Hi Tursi, senior_falcon and mizapf,

 

I run the program suggested by senior_falcon and I did get the contents of the DEF table:

GRAFIC

SETCOL

ARCUS

etc.

I tried running some of the commands using the CALL LINK statement and most of them worked. Some didn't. I guess this is due to the fact that I'm using as a language guide the manual of the Mechatronics cartridge and not the original APESOFT manual (I couldn't find this one). For example, CALL LINK("GRAFIC",0) gives me a 'BAD ARGUMENT' error message, so I guess the parameters of this command must have changed between the original APESOFT routines and the Mechatronic's.

Edited by awesp

Share this post


Link to post
Share on other sites

Yes, CALL NEW is a subprogram of "Extended Basic Plus" or "Mechatronic/PS Extended Basic" (try in MESS with the cartridges "me_extended_basic.rpk" or "extended_basic_plus.rpk").

 

RXB has CALL NEW and CALL BYE and CALL XBPGM("device.volume.xbprogram",#files to open)

 

The CALL XBPGM opens the number of files does a NEW then runs the program all from one command.

 

Only RXB has this feature.

Share this post


Link to post
Share on other sites

The disk version of APESoft will should work with any Extended BASIC cartridge, as that was the environment they were targeted to. I'll have to pull out my original APESoft manual and check. You can also look in the Amerisoft Expanded Graphics BASIC manual, as that was just the English Translation of the APESoft manual.

Share this post


Link to post
Share on other sites

Thanks RXB and Ksarul for your responses.

I found the Amerisoft Expanded Graphics BASIC manual and gave its instructions a try. For some reason some of the commands don't seem to work, like CALL LINK("GRAFIC",0) produces a "BAD ARGUMENT" error message and CALL LINK("WINDOW",10,10) generates a 'SUBPROGRAM NOT FOUND' error message. However, CALL LINK("SETCOL,16,6) and CALL LINK("RECT",1,1,30,20) don't produce any error messages.

Running the program sent by senior_falcon I just realised that the 'WINDOW' command is not present in the APESOFT routines on mecha2.dsk, mind you 'GRAFIC' is. So, it seems that I may have a different version after all.

Edited by awesp

Share this post


Link to post
Share on other sites

Let me put in a shamless plug for "The Missing Link" which can be found in the Development Resources section of this site. It offers pretty much the same graphics routines as apesoft, plus you can get support for it right here on this site!

  • Like 2

Share this post


Link to post
Share on other sites

Thanks senior_falcon. I'm just getting back into the TI99/4a after 30 years and wasn't aware of 'The Missing LInk" extensions. I have already loaded them into my TI and am ready to try them. Thanks again for your help!

Edited by awesp

Share this post


Link to post
Share on other sites

Since you're on the Missing Link train, make a stop at the new XB256 station... It's a Gold Mine of goodness. :) Also a seniorfalcon offering.

 

Some of the cooler features include full character sets, pixel scrolling, and a sound list converter/compiler/player. It's a truly awesome development environment when coupled with Classic99 and NotePad++.

Share this post


Link to post
Share on other sites

Thanks Opry99er, I downloaded the XB256 package and it looks pretty impressive. I'll give it a go on mi TI.

 

Thanks Jean Louis for your comments. I'm running a TI with a CF7+ that gives my TI an additional 32K of RAM.

Share this post


Link to post
Share on other sites

Here are the APESOFT graphics routines in case you want to give them a try. The program LOAD will move them into low memory. Then you have to CALL FILES(9) and NEW before using them. There is a manual in PDF form - I tried a couple of the sample programs to see if they work. This is much more limited than Missing Link. Unless I'm missing something, it is running in Graphics mode (like LOGO) which means you have nowhere near the full screen for your graphics, nor do you have the color control you get with the bit mapped mode in TML. I was wondering how they dealt with some of the XB vdp memory locations that are at awkward places for bit map mode. Now I know...

APESOFT.zip

  • Like 2

Share this post


Link to post
Share on other sites

There were two versions of the APESoft routines as released in Germany/Austria, which may explain the original issue with missing routines during test. I think I may have both versions of the disk. . .

Share this post


Link to post
Share on other sites

Here is the LINES program adapted for the Apesoft graphics routines. Remember to CALL FILES(9) and then NEW before pasting this in.

100 ! LINES
110 RANDOMIZE
120 CALL LINK("GRAFIC",0)
130 CALL LINK("WINDOW",5,9)
140 CALL LINK("SETCOL",INT(RND*14)+3,2)
150 RFV=INT(RND*13)-6 :: CFV=INT(RND*13)-6 :: IF RFV=0 AND CFV=0 THEN 150
160 RTV=INT(RND*13)-6 :: CTV=INT(RND*13)-6 :: IF RTV=0 AND CTV=0 THEN 150
170 RF=INT(RND*120):: CF=INT(RND*128):: RT=INT(RND*120):: CT=INT(RND*128)
180 FOR I=1 TO 100 :: CALL LINK("SETTO",CF,RF):: CALL LINK("MOVETO",CT,RT)
190 RF=RF+RFV :: IF RF<1 OR RF>120 THEN RFV=-RFV :: GOTO 190
200 CF=CF+CFV :: IF CF<1 OR CF>128 THEN CFV=-CFV :: GOTO 200
210 RT=RT+RTV :: IF RT<1 OR RT>120 THEN RTV=-RTV :: GOTO 210
220 CT=CT+CTV :: IF CT<1 OR CT>128 THEN CTV=-CTV :: GOTO 220
230 NEXT I
240 FOR I=1 TO 500 :: NEXT I :: CALL LINK("CLSCRN"):: GOTO 110

 

If you play around with the apesoft grahics, they are set up to use x,y coordinates, so SETTO and MOVETO expect column first, then row. Missing Link expects row, then column as is usual in XB.

Edited by senior_falcon

Share this post


Link to post
Share on other sites

The cartridge had the complete set of routines, so you've got everything you needed, Senior_Falcon. They were originally released on disk, as two separate subsets of the whole. I have a set of the original disks from APESoft. They aren't too common as originals even in Germany.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...