Jump to content
IGNORED

OSS Basic XL 1.02 Source Code


Recommended Posts

I really can't believe it, decades we are searching and now? One bomb after another...

 

With this post I suggest bob1200xl to be Atari user of the year, too!!!

 

Here is why:

 

http://atariage.com/forums/topic/217770-action-source-code/page-2

 

post #31

 

Did you all really got the point what Bob actually did for us?

 

I can't believe it:

 

BASICXL102.zip

 

As he has written: This is(!) the source code for OSS Basic XL 1.02 on 2 DOS II Version 2.0D disks without any DOS. That means they are DD disks and can be opened with the original 815 DOS, which is inside the archive above.

 

The source has a .bak-file from February 5th, 1985. You need Mac/65 to read in the file: "master", then you get this here:

 

post-32599-0-29028000-1422974582_thumb.jpg

 

at the end. Further you need two drives: D1 and D2. Both atr images are renamed with the corresponding D. While running, files on drive 2 are accessed. All files which can be read, I have translated in a .txt-file inside the archive. So you all can get a quick look at.

 

DIR:

1 BASICXL102D1.atr

2 BASICXL102D2.atr

3 DOS 2.0D.atr

4 Basic XL (OSS Type A-034M).bin

5 Basic XL (OSS Type B-M091).bin

6 Example from Master.jpg

7 Types of carts.jpg

8 Win Latin 1.jpg

9 BASICXL102D1

10 BASICXL102D2

11 D2-BASICC.923

12 D2-BASICC.APL

the txt files are coded in Win Latin 1. Hope the CRs are coming the right way. The content of the 2 disks are in a folder each, too. So, you can get a quick look at. Position 11 and 12: these 2 files are accessed from the file: "CONVRT.LIS", but they are not on the disks. Maybe Bob you can take another look at? ;-)

So, a call goes out there to enhance the source code to the final version of Basic XL 1.03.

Wow, what a time and we are part of it. Incredible.

Bob, we are so deep in your debt. Let's hear your wishes.

 

 

  • Like 2
Link to comment
Share on other sites

Since we don't have source for Basic XE I've been looking over the manuals for both to see what the differences are. From what I can see the only things Basic XE has extra are:

 

BLOAD,BSAVE,CALL,EXIT,EXTEND,HITCLR,INVERSE,LOCAL,NORMAL,PROCEDURE,
SORTDOWN,SORTUP,USING

 

A few of these are part of the Basic XL Toolkit disk. I've downloaded the Basic XL toolkit disks from Strotmann's Atariwiki but the EXTEND command doesn't appear to work. Everything runs without error, but the new commands are not installed. Does anyone have a working copy of the Toolkit disk ?

 

I think the only important thing that Basic XL needs is the EXTEND command to use banked ram.

Link to comment
Share on other sites

All the source codes are one thing, but doing Alfred a favor, that is the(!) challenge!

 

Alfred, AtariWiki has made a gigantic step to make you happy:

 

https://atariwiki.org/wiki/Wiki.jsp?page=Basic%20XL

 

there, please go to the atr images and there the B-side of the toodisk!

 

The dir should look like this:

 

post-32599-0-50062600-1422985432_thumb.jpg

 

What do you think? Happy as we are all, thank to you?

 

:) :) :) :) :)

 

P. S. XL from 1.02 to 1.03...

 

P. P. S. I have checked it, the suffix is BXE, but it is actually BXL, really!

Edited by luckybuck
Link to comment
Share on other sites

Yes, that is the rom and disk I am working with. Try it yourself, it doesn't work.

 

I have patched EXTEND.COM so now it executes properly under SpartaDos and relocates correctly. The cartridge still doesn't recognize that the external routine is present after the MOVE command is executed. EXTEND does a blind JSR into the cartridge, but I have verified that both the listing for BXL 1.02 and the 1.03 rom contain the correct routine at $A1FE. I guess all that is left is to trace the whole thing and see what it's doing wrong.

 

EXTEND is interesting because the code that installs the extension was clearly generated by Action!, whereas the actual extension code is just plain assembler.

Link to comment
Share on other sites

I don't have the 1.02 rom, just the 1.03. I don't see why it shouldn't work with 1.03, the hardcoded cartridge addresses appear to be correct. Your disk doesn't work either. I'm still tracing through the installer to see how it's doing the relocation.

 

I do note that the cartridge detector is returning a 9 from $AFFF but the listing for 1.02 seems to imply the code should be 04 when $D504 is strobed, if I'm reading it right.

Edited by Alfred
Link to comment
Share on other sites

Uff, I am checkmate here, I left Atari mid 85, therefore, I have never worked with SpartaDOS...

 

Well, we have new scans of the XL and XE manuals, as far as I remember, I checked everything briefly and it worked. But I didn't checked it that deep as you.

 

Can help the wiki to get that fixed?

 

Bob, what actually is different to our 2 atr images? I really bought it from trustfully people, they are originals...

 

Is there maybe a solution in the OSS Newsletter? Just an idea...

Link to comment
Share on other sites

The manual states unequivocally that EXTEND will only work on 1.02 - something about too many hooks...

 

Bob

 

 

 

I don't have the 1.02 rom, just the 1.03. I don't see why it shouldn't work with 1.03, the hardcoded cartridge addresses appear to be correct. Your disk doesn't work either. I'm still tracing through the installer to see how it's doing the relocation.

 

I do note that the cartridge detector is returning a 9 from $AFFF but the listing for 1.02 seems to imply the code should be 04 when $D504 is strobed, if I'm reading it right.

Link to comment
Share on other sites

Ok, I think I've found the problem. The disk(s) are correct. What is wrong is the MOVE $0570,$C4,4 statement doesn't work. $0570 is loaded with the proper values, but the cart command doesn't actually move the four bytes. If you deposit the proper values in $C4 and $C6 then the extension works.

  • Like 1
Link to comment
Share on other sites

The manual states unequivocally that EXTEND will only work on 1.02 - something about too many hooks...

 

Bob

 

 

 

 

I don't see that in the manual. The preface says 1.00 and 1.01 cannot be used. Then it says "1.02 or later" so I would say that includes 1.03 as one that should work. I don't see any discussion of the fact that it calls into the cartridge. Maybe you have a different manual ?

Link to comment
Share on other sites

Wiki works under a Samurai code of ethics: only the best for the best Atari users. We really take care, that every information we give you is reliable. That is important to us. Otherwise science wouldn't work and we cannot make any progress.

 

So Alfred, can we take your sentence 1:1 to the wiki?

 

On our site about XL everything is correct, I taken care about that personally. Further, we are very proud, that with the help here, we could restore:

 

30 Days to Understanding BASIC XL-Bill Wilkinson and Diane Goldstein.pdf

  • Like 2
Link to comment
Share on other sites

Wiki works under a Samurai code of ethics: only the best for the best Atari users. We really take care, that every information we give you is reliable. That is important to us. Otherwise science wouldn't work and we cannot make any progress.

 

So Alfred, can we take your sentence 1:1 to the wiki?

 

 

What sentence ? I don't understand what you're asking.

 

I just tried the 1.02 XL rom and the MOVE command doesn't work there either. This seems so odd, I wonder if it's an emulator issue. I only use SpartaDos, so I can't tell if it works under something else, but I did try the Toolkit disk which I believe to be plain Dos 2.0 and that also didn't work.

 

Edit: Very odd. MOVE $0570,$9000,4 works fine. This makes no sense why it won't write to zero-page. I don't see anything in the XL listing that would make it fail.

Edited by Alfred
Link to comment
Share on other sites

The book is wrong. The command should be MOVE $0570,$C4,-4 to install the extension. Looking at the BXL listing, the FMOVER and EXPMOVE routines are strange. I suspect that whoever implemented the MOVE command didn't realize that the requirements for those two routines are very specific and the code in the XMOVE cartridge routine doesn't set the stage properly.

 

It should be possible to disassemble the BXE extension file and rip out the routines that BXL is missing and add them to the BXL extension.

 

I don't suppose anyone has produced a nice disassembly of the BXE cartridge ?

Link to comment
Share on other sites

Then that is a big one, thank you Alfred.

 

Well the source said, that Stephen D. Lawrow is involved, he is brilliant..

 

It was hard to get the XE manual OCRed and online, but I can ask Bill Wilkinson, whether is willing to give XE free, too?

 

The wiki team now has contact to the author of TurboBasic XL. I guess you know why...

 

What I am wondering: the XL toolkit disk is an original one, but it has BXE files on it...

Link to comment
Share on other sites

 

What I am wondering: the XL toolkit disk is an original one, but it has BXE files on it...

 

I think that is just to mark them as requiring the extension. The extension makes BXL like BXE, so they just used the BXE moniker.

 

Many thanks to Bob1200xl (I'm assuming that's Bob Wooley) for the XL source. It would have been much harder to figure this out without that.

 

Link to comment
Share on other sites

Yes, you are right again, now it comes back. It is XL, they just used that suffix BXE.

 

Yes, that is true. For (us) me a simple thank you is not sufficient . There is only one way:

 

post-32599-0-98379400-1423009226_thumb.jpg

 

Thank you so much Bob, you will always be in our hearts and you will never be forgotten.

 

May god bless you, always, anytime and everywhere, where ever you may are.

 

You are so vital to the community, please go ahead. :-))) :) :) :) :) :)

  • Like 1
Link to comment
Share on other sites

Yes, SIMPLEREL.ACT is the only missing Action! file now.

Yesterday, I read the OSS Newsletters, there must be some hints in them to find that file. San Francisco Bay group?

 

Mr. Parker sadly doesn't have the file.

 

reloc.act.txt

 

RELOC.txt please change txt against ACT

 

ACTION! Relocator.zip

 

 

Edited by luckybuck
  • Like 1
Link to comment
Share on other sites

 

I think that is just to mark them as requiring the extension. The extension makes BXL like BXE, so they just used the BXE moniker.

 

Many thanks to Bob1200xl (I'm assuming that's Bob Wooley) for the XL source. It would have been much harder to figure this out without that.

 

Not sure but I think it might be because after BASIC-XE came out, the toolkit disk served dual purpose. Was there a distinct BASIC-XE Toolkit product?

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...