-
Content Count
2,118 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by retroclouds
-
Research on Myarc Extended Basic II
retroclouds replied to retroclouds's topic in TI-99/4A Development
That what I also thought in the beginning as well. Now I'm not so sure anymore. Having a good documented assembly source is a very valuable tool. At this time I'm still trying to better understand how well the Armadillo Basic internal design document matches with the ABASIC assembly source. Also the source code is really well documented, and it looks that it's pretty modular as well. Perhaps starting from the assembly source is not as bad as it sounds, but guess it's still too early to tell. EDIT: I stand corrected, the use of the many MDOS XOP calls (as Beery already pointed out), makes it impossible to backport ABASIC to the TI-99/4a -
Research on Myarc Extended Basic II
retroclouds replied to retroclouds's topic in TI-99/4A Development
Yesterday, I looked at the Armadillo Basic document specifying the statement dispatch table with equates for the basic tokens. Then I compared with the ABASIC (3.0) source code. I can confirm that for the most part the token labels and token values match with the document. There were a few tokens that had a changed token label, but I presume they still do the same functionality (if I understand the abbreviation in the label name correctly). Have to recheck and confirm, but I think there were only 3 token values that were unused in Armadillo Basic and are allocated in ABASIC. -
Research on Myarc Extended Basic II
retroclouds replied to retroclouds's topic in TI-99/4A Development
At this time I see 2 possibilities for getting Myarc XB II to run on the TI-99/4a: Use the existing Myarc XB II with the 128K OS. Requirements: SAMS, FGROM or superspace cart, floppy drive Work involved: disassemble cartridge image, get to understand everthing, create new image Advantage: Could be sufficient to replace the memory handling functions located in cartridge space Disadvantage: No assembly source, reduced feature set compared to ABASIC, more bugs? Doing changes or bugfixes to XB II would be very hard to do, if not impossible Backport ABASIC 4.05 to the TI-99/4a Requirements: SAMS, FGROM or superspace cart, F18a? Work involved: Get to understand inner workings Backport ABASIC to the TI-99/4a Advantage: Source code available, most recent version 4.05 could be used as starting point for backport Changes, new features and bugfixes to XBII possible Disadvantage: Iron out architecture differences between the 9640 and TI-99/4a MDOS XOPs (scanned source code and counted 61 XOP calls) PAB handling CRU usage Rework memory handling / paging Rewrite 9938 VDP code (replace with F18a code?) -
Discussion Group - Force command Users
retroclouds replied to Omega-TI's topic in TI-99/4A Computers
Why not just poll pi.clock and trigger actions from there? -
Research on Myarc Extended Basic II
retroclouds replied to retroclouds's topic in TI-99/4A Development
I know they are all closely related, but what about ABASIC on the Geneve. Is it also a derivate of XB II on the TI99-4a or is it a direct port of Armadillo Basic on the 99/8? -
Research on Myarc Extended Basic II
retroclouds replied to retroclouds's topic in TI-99/4A Development
Accumulated newest information in first post. -
Cool, thanks for the update Klaus, appreciate it a lot. I'll check out the 99/8 system source code disk images in the next few days. From what we have so far, it looks that close to 10 machines are out there.
-
Thanks for the update, that is most interesting. I read the Armadillo Basic specification document again. I don't have a release date on that document, but I presume it's one of the early documents (1982?). From that I understand that TI planned Armadillo Basic to be the new standard (Basic) interpreter in the 99/8. And Extended Basic (II) was meant to be a true extension of that standard interpreter and not a separate interpreter. Perhaps it was so, that during the early design phase they planned Extended Basic (II) to be an addon (cartridge?). During a later 99/8 implementation phase, they then changed their mind and replaced Armadillo Basic with Extended Basic II ? I also have the document that outlines the design of the basic/extended basic interface, with the goal of minimizing compatibility problems between the two basics.
-
Research on Myarc Extended Basic II
retroclouds replied to retroclouds's topic in TI-99/4A Development
Do we have a timeline to compare the TI Basic in the 99/2 with Extended Basic II on the 99/8. It's confirmed that the TI-Basic on the 99/2 is a complete rewrite in assembly language (but lacking graphics manipulation commands on the 99/2). -
I'm trying to find out how many Atariage visiters actually own a 99/8. The word is there are about 150 preproduction units built. So, how many of these did survive and are in (more or less) active use. Also, I checked the 99/8 documents found on whtech. Are there more? I am especially interested in technical design documents on XBII (I'm especially interested in the later ones, around 1984). The ones I know are listed here: It is quite a fascinating machine, so I'd like to get as much information as possible. Also does anyone have a 99/8 revision with TI Basic (next to Extended Basic II) built-in? Or are there only XB II machines out there? Obviously also related in 99/8 source code, especially for the Extended Basic II.
-
As far as graphical capability is concerned, software has to be written. Why not concentrate on the F18a. It already opens up a ton of possibilities. I have barely seen any coleco games make us of what the F18a has to offer (which is a lot more than just VGA output). Do know that the F18a has been very hard to get in the last recent years. But with the MKII almost finished and the F18a core in the Phoenix, the sky is the limit.
-
Guess for the most part, everyone rolls their own. My take on it can be found here: https://github.com/FilipVanVooren/spectra2/blob/master/spectra2 reference manual.pdf As part of my Stevie editor I have done many, many changes since the original release of my spectra2 library. But at its core its still the same though.
-
Research on Myarc Extended Basic II
retroclouds replied to retroclouds's topic in TI-99/4A Development
Would be so cool to find the original 99/8 datasets with source code and documentation -> TI998.BASLCP.* -
Research on Myarc Extended Basic II
retroclouds replied to retroclouds's topic in TI-99/4A Development
Yesterday evening I downloaded as much information as I could find on the TI-99/8 armadillo Basic (XB II). There are actually quite a few documents floating around, created during a 2 years’ period (1982-1984) ?/??/?? - 99/8 Basic / EXT. Basic interface specification ?/??/?? - 99/8 Armadillo Basic specification ?/??/?? - VDP RAM usage in Armadillo Basic 5/26/82 - 99/8 The mapper and us 9/30/82 - Armadillo Basic internal design 3/23/83 - 99/8 Mapper specifications 2/07/84 - 99/8 Bugs found after 7/34/84 release (TI998.BASLCP.BUG) 2/07/84 - Usable XML’s, XOPs (TI998.BASLCP.DOC.ASSM) 2/07/84 - Symbol table entry bits in use for the Armadillo (TI998.BASLCP.DOC.LINKBITS) 2/07/84 - Interpreter variables V0.002 (9/10/82) (TI998.DOC.VARS) 2/07/84 - PAD memory usage (TI998.DOC.PAD) This does bring a whole bunch of questions: 1. ARMADILLO BASIC (XBII on the 99/8) How many XB II versions existed on the 99/8 ? The XB II on the 99/8 has substantial parts rewritten from GPL to assembly language, but certainly not everything I did find source code for the 99/8 GPL interpreter itself, but not for XB II. Is it available somewhere? Did anyone ever try to do a speed comparison between XB II on the 99/8 and Myarc XB II on the TI-99/4a? According to the Armadillo Basic specification, the goal was to make XB II a true extension of the standard basic interpreter instead of having a separater interpreter that shared only a few routines. Does the 99/8 also have a “standard” TI Basic like there was on the TI-99/4a ? From the 99/8 videos I’ve seen so far I only saw XBII The Armadillo Basic also does heavily rely on XOP’s, as does ABASIC on the Geneve (3) 2. MYARC XB II on the TI-99/4A Is Myarc XB II on the TI-99/4a really all assembly language or are there still GPL parts involved Could be that improved speed impression is due to the new screen handler that support faster scrolling (e.g. when listing source code) Is the source code for Myarc XB II available? At this time it is not confirmed that it still exists. 3. ABASIC on the Geneve Source code available (need to check what version) Started as variant of (1) or rather (2) ? Does the geneve memory architecture more resembles the 99/8 memory architecture ? 4. BASIC on the TUTOR I believe the Tutor Basic was pretty much the 99/8 Armadillo Basic (1). However, here I read that it’s in fact GPL (needs to be confirmed) Conclusion: Backport from Armadillo Basic on the 99/8 to Myarc XB II on the 99/4a probably involved: Rewriting XOP code Rework scratch PAD usage from 1K on 99/8 to 256 bytes on the 99/4a. This probably explains the memory writes to the cartridge space >6000-61ff, it’s used as a PAD extension. Fully rewrite memory handling/paging to make it match the Memory Expansion MEXP-1 PAB handling (PAB stored in VDP instead of CPU RAM to make it compatible with the stock Disk Controller Rewrite keyboard scan to make it work on the 99/4a ABASIC on the Geneve more likely variant of Armadillo Basic on the 99/8 instead of XB II on the 99/4a. There is a lot of speculation in all this, so more reseach required for confirming. As usual feedback welcome. -
Research on Myarc Extended Basic II
retroclouds replied to retroclouds's topic in TI-99/4A Development
Added some details concerning cartridge access. -
UPDATE: 2020/07/02 07:05 UTC This thread shall be used for documenting research on Myarc Extended Basic II. Purpose Create a version that can be used with SAMS and a RAM cartridge (superspace) Target modern storage devices like CF7+/Nanopeb, TIPI or HRD4000B. No longer rely on the unobtainable MEMEXP-1 128K/512K memory expansion. Recreate assembly source code Research originated on discussions found here: This post will be updated on a regular basis as more accurate information is collected. BASIC variants (1) Armadillo Basic on the TI-99/8 The new "standard" Basic interpreter on the TI-99/8. Only appeared on some early TI-99/8 prototypes. The plan with Armadillo Basic was that it forms the "basis" for what is later known as Extended Basic II Share as much code as possible between the two basics, Modular setup: One idea was to keep core part of the basic interpreter in ram (statement dispatch table for functions), where it can be modified by the extended basic interpreter startup sequence Interface document exists that outlines the dispatch table Possibility to load & save Extended Basic programs from DV80 files 60K of free space for program code (170K) if 128K memory expansion installed Certain parts rewritten in assembly language for optimized speed (e.g. screen handler) Unknown if source code exists Unknown if ROM dumps exist (2) Extended Basic II on the TI-99/8 Extension of the Armadillo Basic found on early prototype All later TI-99/8 preproduction units had Extended Basic II built-in, instead of Armadillo Basic Unknown if source code exists Confirmed ROM dumps, emulation in MESS/MAME possible. (3) Myarc Extended Basic II on the TI-99/4a is basically (2), the Extended Basic found in the TI-99/8: Written in Assembly language Versions known to exist: v2.10, v.2.11, v.2.12 Memory map changed to match TI-99/4a (+Myarc MEMEXP1) instead of TI-99/8 FREESPACE removed, memory allocation changes, comma instead of dash in list command, ... Removed loading/saving extended basic programs from/to DV80 (at least in >v2.11) Unclear if source code exists (4) Myarc Extended Basic II for the Geneve Written in Assembly language Variant of (3)? It’s the initial version of Extended Basic shipped with the Geneve (5) Myarc Advanced Basic (ABASIC) Written in Assembly language Versions known to exist: 4.04 (last version by Jim Uzzel) 4.05 (~2013 by InsaneMultitasker, fixed assembly language parameter passing bug) Based on (2)? Source code exists, heavily commented Backport to TI-99/4a probably difficult due to the XOP's used (6) Basic on the Tomy Tutor Variant of 99/8 Armadillo Basic Basic tokens compatible with TI Extended Basic GPL involved, but no GROMS (7) TI-Basic on the 99/2 TI internal name “Ground Squirrel BASIC” Developed outside of TI at a contracted university Completely written in assembly language, no GPL involved. Very fast Source code not related to Armadillo Basic (1) on the 99/8 Documents Armadillo Basic on the 99/8 There are actually quite a few documents floating around, created during a 2 years’ period (1982-1984): ?/??/?? - 99/8 Basic / EXT. Basic interface specification ?/??/?? - 99/8 Armadillo Basic specification ?/??/?? - VDP RAM usage in Armadillo Basic 5/26/82 - 99/8 The mapper and us 9/30/82 - Armadillo Basic internal design 3/23/83 - 99/8 Mapper specifications 2/07/84 - 99/8 Bugs found after 7/34/84 release (TI998.BASLCP.BUG) 2/07/84 - Usable XML’s, XOPs (TI998.BASLCP.DOC.ASSM) 2/07/84 - Symbol table entry bits in use for the Armadillo (TI998.BASLCP.DOC.LINKBITS) 2/07/84 - Interpreter variables V0.002 (9/10/82) (TI998.DOC.VARS) 2/07/84 - PAD memory usage (TI998.DOC.PAD) Myarc Extended Basic II on the TI—99/4a Requirements Myarc MEMEXP-1 128K (or 512K) memory expansion card required Has 8K DSR in >4000-5fff (program loader, RAMDISK setup code, spooler?) Myarc Extended Basic II cartridge required It's confirmed that a 8K RAM cartridge (superspace) in >6000-7fff works fine. Disk with Myarc Extended Basic II interpreter Workings When selecting the '128K BYTE O.S.' cartridge option, the file loader in the MEMEXP-1 DSR space is triggered The whole process of loading the Extended Basic II interpreter into the appropriate MEMEXP-1 memory pages seems to be handled from inside DSR space. In the cartridge space the memory management routines required by the interpreter are stored (required for banking the appropriate MEMEXP-1 pages) The code at >6030-7fff seems to be put there are the very end when XBII is loaded into memory. Could be this is part of XBII initialisation itself? When quitting XBII by using "BYE" command the cartridge space >6030-7fff is cleared with >00, only the cartridge header is present. While XBII runs it writes to the cartridge space >6000-61ff (clarify exact memory addresses). This is probably to compensate the fact that the 99/4a only has 256 scratchpad where 99/8 has 1K. Cartridge space: 6000-602F Cartridge header '128K BYTE O.S.' 6030-612F Written to by XBII while running 6130-7fff Appears to be static code, haven't seen any writes here so far Unclarified behaviour The DSR space >4000 is briefly activated every 5-10 seconds while XBII is idling in command mode. This does not happen when a program is running (e.g. 10 GOTO 10). Seems to be a background task: Perhaps the access to the DSR rom space is related to the print buffering code checking to see if anything in the buffer on interrupts?
-
Just gave MYARC BASIC V2.12 a try in mame on my linux box. I am so impressed with how fast it runs. This would have been a killer, if it had been easily available back in the days.
-
This morning I went through and scanned this thread closely. Also looked at Ninerpedia and some other places to collect an overview of the different Extended Basic versions out there. Note: In this thread I only listed the versions related to Myarc XBII. As far as versions go, this is what I summarized: (1) Armadillo Basic on the TI-99/8 Written in assembly language Possibility to load & save Extended Basic programs from DV80 files 60K of free space for program code (170K) if 128K memory expansion installed Source code available on whtech (needs verification) (2) Myarc Extended Basic II on the TI-99/4a is basically (1), the Armadillo Basic found in the TI-99/8: Written in Assembly language Versions known to exist: v2.10, v.2.11, v.2.12 Memory map changed to match TI-99/4a (+Myarc MEMEXP1) instead of TI-99/8 FREESPACE removed, memory allocation changes, comma instead of dash in list command, ... Removed loading/saving extended basic programs from/to DV80 (at least in >v2.11) Unclear if source code exists (3) Myarc Extended Basic II for the Geneve Written in Assembly language Variant of (2), it’s the initial version of Extended Basic shipped with the Geneve (4) Myarc Advanced Basic (ABASIC) Written in Assembly language Based on (3) ? Unclear if source code exists This is what I understand on the technical setup of Myarc Extended Basic II: Myarc MEMEXP-1 128K (or 512K) memory expansion card required Has 8K DSR in >4000-5fff (program loader, RAMDISK setup code, spooler?) Myarc Extended Basic II cartridge required (Basically a RAM cartridge, something comparable to a superspace cartridge) Disk with Myarc Extended Basic II interpreter Workings: Upon powerup the DSR in the MEMEXP-1 pushes a file loader into cartridge space >6000->6fff The file loader is triggered and the Extended Basic II interpreter is loaded into the appropriate MEMEXP-1 memory pages In the cartridge space the memory management routines required by the interpreter are stored (required for banking the appropriate MEMEXP-1 pages) Note: not sure if (3) is moved there by the loader or if’s copied from the DSR space. Needs verification. If there’s interest, then I’ll create a new thread in the Development subforum for research. It’ll also include a first version of the memory map (as found on Ninerpedia). EDIT: 06-28-2020; Created a separate thread in the development subforum. Look there for the latest details.
-
Hi Fabrice, I’m curious about the current status of the ti(ny)-99/4a, are there any updates? Thx. 😄
-
Items for the TI whose time has come and gone.
retroclouds replied to Omega-TI's topic in TI-99/4A Computers
Same here. I have “invested” quite a lot in old and new equipment for the TI-99/4a lately. For the old stuff, now have quite a collection of stuff I wanted to have back in the days. Even got myself a Geneve that I really want to dig in. My list of projects for things I want to try out is just getting longer and longer. But that is part of the fun, isn’t it 😄 -
Like alot what I’m seeing. Congrats on the hard work on this. Having such a powerful system underneath does open quite a lot of interesting opportunities. Looking forward seeing how this further develops. 👌
-
Thank you all for the clarification. Yes, having the source code would definitely help. On the other hand if it does run in MAME, its debugger could be used for digging deeper. At this time I don’t know how capable the debugger is though. I looked at it many, many moons ago when it was still MESS. At least with the debugger we would for example see how often the cartridge space is accessed, after XBII has loaded and while it is running. What I for example do not know at this time, is if the MAME debugger can view paged memory. But still, sounds doable to me. Having said that, it’s something I’d like to take a look at, as soon as I have a first version of my Stevie editor out of the door. Would make a heck of a winter evening project.
-
Thanks the reason I asked is to see if Myarx XBII could be patched to run from SAMS and FinalGROM. Well, it seems it’s not an impossible task, unless I missed something.
-
Are there any technical details on the MEMEXP-1 memory card? Could not find any details: How much does it differ from SAMS? What memory areas are pageable? Does the MEMEXP-1 have a DSR? I read that the MYXBII cartridge is not much more than a loader for setting up the MEMEXP-1 card and loading MYXBII from a storage device. Is that confirmed?
-
Just curious. Can I ask how you got your ULX3S board? Did you build it yourself or is there a possibility to get fully assembled boards? Checked, but could not find anything. Thanks
