-
Content Count
1,055 -
Joined
-
Last visited
-
Days Won
3
Posts posted by kl99
-
-
A feature in RXB is CALL IO that talks directly to the IO chip in the TI.
100 ! Turns OFF/ON/OFF each CARD from >1000 to >1F00 but will lock up from some cards. 110 FOR CRU=2048 TO 3968 STEP 128 120 CALL IO(3,8,CRU,0,3,8,CRU,255) ! OFF/ON a CARD 130 FOR A=1 TO 200 :: NEXT A ! Delay loop 140 CALL IO(3,8,CRU,0) ! Turn off CARD 150 NEXT CRU 160 END ! Done all cards found!
IO is a GPL command built into the GROM 0 and ROM 0 of the TI.
I am amazed at how so few people take advantage of such a powerful routine.
CALL IO could be used to read bits directly from the RS232 card or send bits directly to that bus from memory.
I am afraid of limiting the target audience too much if aiming for RXB. I have read about this command in the GPL manual, however I am still doing hard on how integrate GPL in standard XB or call it from Assembler. Is there a way to execute a GPL command from TI XB? I feel bad asking you since the information is probably right in your videos or in manuals already and I just haven't had the discipline to cover those.
-
One question: if you have a archive file is possible to extract the file name of this archive in TiFile.
Jean Louis
It's not yet possible, but INT/FIX 128 TiFiles will be checked whether they are arc files and any TiFiles inside will be added into the Index in one of the next releases.
Maybe an ARC File becomes a dedicated DocumentType as well.
Let's see.
Is there a small, handy list with the possible filter-commands/syntax ?
Yes schmitzi.
Everything is uppercased automatically, so it's case insensitive.
An entry in the search result is always a Lucene Document.
In the current release there are 5 different types of Lucene Documents.
A Document is defined by containing a set of Lucene Fields and each of these Fields has a Value.
Mostly these Fields are of type string. Some are not of type string but numeric. Only one is of type Binary.
You should always search for a specific documenttype [of the 5 available].
Let's check out the definition of the DiskFileRecord document (the others are in the former posts in this thread). Each entry is a Field.
DiskFileRecord:
References a single TiFile on a specific Disk, therefore referencing a TiFile Document and a Disk Document. DOCUMENTTYPE "DISKFILERECORD" DISKMEMBEROF HashKey of Referenced Disk [DISKHASH Field from DISK Document] TIFILEREFERENCE HashKey of Referenced TiFile [TIFILEHASH Field from TIFILE Document] FILEPROTECTION 'true' if the File is flagged protected on this Disk DISKFILERECORDHASH HashKey, uniqueness based on TiFileBinary + Ti FileName + Disk Binary FILENAME Ti FileName of Referenced TiFile FILESIZE SECTORS Size in Sectors of Referenced TiFileBinary FORMAT TYPE Ti FileType of Referenced TiFileBinary [PROGRAM, DIS/VAR 80,...] DISKNAME Ti DiskName of Referenced Disk TIFILEBINARYREFERENCE HashKey of Referenced TiFileBinary [TIFILEBINARYHASH Field from TIFILEBINARY Document] BYTES FILESIZE Size in Bytes of Referenced TiFileBinary
The Lucene Queryparser syntax is working like this:
Syntax: +FIELDA:FIELDVALUE1
--> give me all Documents that contain a FIELDA with the value FIELDVALUE1.
Multiple conditions:
Boolean AND:
Syntax: +FIELDA:FIELDVALUE1 +FIELDB:FIELDVALUE2 Alternate: FIELDA:FIELDVALUE1 AND FIELDB:FIELDVALUE2
--> give me all Documents that contain a FIELDA with the value FIELDVALUE1 AND contain a FIELDB:FIELDVALUE2.
Boolean NOT:
Syntax: +FIELDA:FIELDVALUE1 -FIELDB:FIELDVALUE2 Alternate: FIELDA:FIELDVALUE1 NOT FIELDB:FIELDVALUE2
--> give me all Documents that contain a FIELDA with the value FIELDVALUE1 but do NOT contain a FIELDB:FIELDVALUE2.
Boolean OR:
Syntax: FIELDA:FIELDVALUE1 FIELDB:FIELDVALUE2 Alternate: FIELDA:FIELDVALUE1 OR FIELDB:FIELDVALUE2
--> give me all Documents that either contain a FIELDA with the value FIELDVALUE1 OR contain a FIELDB:FIELDVALUE2 or both.
Let's move over to examples representing our Documents.
Which type of Document you target you specify by the field DOCUMENTTYPE. So each query should start with or contain one of these:
+DOCUMENTTYPE:DISKFILERECORD +DOCUMENTTYPE:TIFILE +DOCUMENTTYPE:DISK +DOCUMENTTYPE:DISKCLONE +DOCUMENTTYPE:TIFILEBINARY
It will return all documents of that type. If you miss to include such a condition then your search result will be a mess.
+DOCUMENTTYPE:DISKFILERECORD +FILENAME:GAME
--> return all DiskFIleRecord Documents where the Filename is "GAME". (again, it's case insensitive).
+DOCUMENTTYPE:DISKFILERECORD +TYPE:"dis/var 80"
--> return all DiskFIleRecord Documents where their type is "DIS/VAR 80". So use quotes when your fieldvalue contains spaces.
+DOCUMENTTYPE:DISKFILERECORD +FILENAME:L*
--> return all DiskFIleRecord Documents where the Filename starts with L. So use * as wildcard. Use ? as single-char wildcard.
+DOCUMENTTYPE:DISKFILERECORD +FILENAME:*RCHIV*
--> return all DiskFIleRecord Documents where the Filename contains RCHIV. You can use * as wildcard in the beginning as well.
+DOCUMENTTYPE:DISKFILERECORD +FILENAME:GEM10\*G?
--> return all DiskFIleRecord Documents where the Filename start with GEM10*G and have an additional character. Here * is not used as wildcard but rather as character of the filename. Therefore it has to be escaped with a "\". You have to escape these characters which are used for syntax: + - && || ! ( ) { } [ ] ^ " ~ * ? : \
The ? at the end is a single-char wildcard.
+DOCUMENTTYPE:DISKFILERECORD -FILENAME:[A TO LOAD]
--> return all DiskFIleRecord Documents where the Filename does not match a certain range. Everything from A til letter L (sorted by Ascii Code) shall be excluded. I have set the end of exclusion to LOAD. Therefore a Document with Filename LOAD1 would be returned. Using [! TO B] will match the range of Ascii !,#,...,0,1,2,3,...,@,A,B.
+DOCUMENTTYPE:DISKFILERECORD +DISKNAME:CHI* +TYPE:PROGRAM
--> return all DiskFIleRecord Documents that belong to a Disk with the Diskname that starts with CHI and that are of type PROGRAM.
+DOCUMENTTYPE:DISKCLONE +DISKREFERENCE:ce73c56c005815125e13781ab827d08b
--> return all DiskClone Documents that match a certain DiskReference Hashkey. Use that to get the paths of a certain Disk.
-
1
-
-
here is a video on how to use Web99 from Windows. The other features will be covered in other videos:
http://screencast.com/t/jaoS8EOXDo-
2
-
-
I guess best would be a rewrite of CALL JOYST to retrieve the input for #2 from RS232.
-
I am using the DSR functionality from the RS232, that comes with OLD/SAVE.
All I am doing is reacting the same as if you hook up a 2nd Texas Instruments Home Computer to your Home Computer.
See Page 18 from the pdf:
http://www.mainbyte.com/ti99/man/php1220.pdf
It transfers one sector a time into the VDP Buffer, then a CRC check is performed.
If the transmit of the sector was successful, a >16 is the response, and the next sector gets transmitted.
If the transmit of the sector was unsuccessful, a >15 is the response, and the same sector gets retransmitted.
You can find the definition of the whole protocol here:
-
Here is some more Documentation...
Types of Documents
Representing a single Ti Disk:
DiskClone
Disk
Representing a single Ti File:
DiskFileRecord
TiFile
TiFileBinary
Fields of each Document TypeDiskClone:
References a Disk Document, stores additionally the Full Pc FilePath
DOCUMENTTYPE "DISKCLONE" DISKREFERENCE HashKey of Referenced Disk [DISKHASH Field from DISK Document] PATH Full Pc FilePath DISKCLONEHASH (reserved for next releases) DISKNAME Ti DiskName of Referenced Disk DISKSIZE Total Sector Size of Referenced Disk SECTORSFREE Free Sectors of Referenced Disk SECTORSUSED Used Sectors of Referenced Disk
Disk:
Represents a single Disk Image, will contain the same information for every User.
DOCUMENTTYPE "DISK" DISKNAME Ti DiskName DISKSIZE Total Sector Size SECTORSFREE Free Sectors SECTORSUSED Used Sectors CORRECTVIB 'true' if the Disk has a valid Volume Information Block DISKHASH HashKey of Pc File Binary
DiskFileRecord:
References a single TiFile on a specific Disk, therefore referencing a TiFile Document and a Disk Document.DOCUMENTTYPE "DISKFILERECORD" DISKMEMBEROF HashKey of Referenced Disk [DISKHASH Field from DISK Document] TIFILEREFERENCE HashKey of Referenced TiFile [TIFILEHASH Field from TIFILE Document] FILEPROTECTION 'true' if the File is flagged protected on this Disk DISKFILERECORDHASH HashKey, uniqueness based on TiFileBinary + Ti FileName + Disk Binary FILENAME Ti FileName of Referenced TiFile FILESIZE SECTORS Size in Sectors of Referenced TiFileBinary FORMAT TYPE Ti FileType of Referenced TiFileBinary [PROGRAM, DIS/VAR 80,...] DISKNAME Ti DiskName of Referenced Disk TIFILEBINARYREFERENCE HashKey of Referenced TiFileBinary [TIFILEBINARYHASH Field from TIFILEBINARY Document] BYTES FILESIZE Size in Bytes of Referenced TiFileBinary
TiFile:
Represents a single Ti File, for which the binary content is stored in a referenced TiFileBinary Document.DOCUMENTTYPE "TIFILE" TIFILEBINARYREFERENCE HashKey of Referenced TiFileBinary [TIFILEBINARYHASH Field from TIFILEBINARY Document] FILENAME Ti FileName of Referenced TiFileBinary FILESIZE SECTORS Size in Sectors of Referenced TiFileBinary FORMAT TYPE Ti FileType of Referenced TiFile [PROGRAM, DIS/VAR 80,...] TIFILEHASH HashKey, uniqueness based on TiFileBinary + Ti FileName BYTES FILESIZE Size in Bytes of Referenced TiFileBinary SOURCE Extracted Basic SourceCode / Text from Binary
TiFileBinary:
Contains the actual Ti Program/Ti File and some Meta Data that is based on a binary only.DOCUMENTTYPE "TIFILEBINARY" BINARY Binary of TiFile [this contains the actual Program/File in complete form] BYTES Size in Bytes FILESIZE Size in Sectors FORMAT TYPE Ti FileType [PROGRAM, DIS/VAR 80,...] TIFILEBINARYHASH HashKey of Binary representing one TiFile
How to Search:
The Index is based on Lucene, therefore the QueryParser Syntax is what can be entered in the Search.
For now I refer to this basics, although it's for a slightly older release of Lucene than used in the project:
https://lucene.apache.org/core/2_9_4/queryparsersyntax.html
The fields above (FILESIZE, TYPE, FILENAME, DIKSNAME,...) can be used in any combination.The Web99 search automatically treats everything UPCASE, so you don't have to care how you enter your data.
Examples:
+DOCUMENTTYPE:DISKFILERECORD +FILENAME:LOAD
+DOCUMENTTYPE:DISKFILERECORD +FILENAME:AL* -TYPE:PROGRAM
+DOCUMENTTYPE:TIFILE +FILENAME:C* -TYPE:"DIS/VAR 80"
+DOCUMENTTYPE:DISKCLONE +DISKNAME:A*
+DOCUMENTTYPE:DISKCLONE +DISKNAME:B* +DISKSIZE:360
+DOCUMENTTYPE:DISKCLONE +DISKREFERENCE:abe884b1fba3a66cdff13d6679bb8745
+DOCUMENTTYPE:DISKCLONE +PATH:*EA*
+DOCUMENTTYPE:DISKCLONE +PATH:*GPL*
+DOCUMENTTYPE:TIFILE +FILENAME:LOAD +SECTORS:8
Range Queries don't work quit yet, but I am working on a solution for that for the next versions:
+DOCUMENTTYPE:TIFILE +FILENAME:LOAD +SECTORS:[1 TO 9]
How to Bootstrap a TI-99:
Well, there is this famous problem with chicken and eggs.
How to you get a communication program onto a computer without a communication program.
My solution is simple: use what TI-99 is coming with out of the box. No cartridges/software needed.
OLD RS232.BA=9600
or on the NanoPEB set the Baudrate in the tool to 19200 and
OLD RS232.BA=19200
Web99 automatically interacts with your TI-99 like a TI-99 would and replies to your wish and provides a program via serial interface.
(So if you want, think of Web99 being a TI-99 on the other end of the line who just entered SAVE RS232.BA=9600.)
If you have XB you can of course directly run the program with
RUN "RS232.BA=9600"
If you have a Disk Drive on your TI-99 (not needed actually), you can of course save the Bootstrap program and load it from there from now on.
But whenever it's inhandy, you now how to get it into RAM.
How to Search from TI-99:
This is still a proof of concept for now. You are limited to search via specifying a FILENAME or part of FILENAME.
And it makes sense only to search for Programs, not other Files.
Search: KONG* Search: BURGENSCHL ...
When you search the search term is send over to Web99 which performs the search and sends over the search result to your TI-99 like a Disk Catalog would display the records of a Disk.
Select:
Now you have to choose the number you want to load.
If you hit Enter the program will exit.
Now you load the selected program with
OLD RS232.BA=9600
or in Extended Basic with
RUN "RS232.BA=9600"
You could probably even load Assembler programs like that, if you instead use these in Extended Basic or within Basic running a E/A cartridge.
CALL INIT
CALL LOAD("RS232.BA=9600")
You are free to play around with the bootstrap program and optimize it for your needs, it could very easily be modified to automatically load what got selected and things like that. For the start I wanted it to work even when running no cartridge. Feel free to share your solutions with others.
And as I said, this is only a proof of concept and I want to deep dive into this feature far more in the next versions. -
Web99
=====
This program is freeware.
Copyright by Klaus Lukaschek2015-12-28 Version 0.5 Beta 4 *New
Introduction
============
The idea of this program is to help you in 3 different areas:
- get rid of duplicate Disk Images and Ti Files.
- make your Ti Files searchable, even from the TI-99
- access and manage your Ti File Collection from your TI-99
This Tool is programmed in Visual C#, it's .NET Framework 4 Client Profile based and therefore runs on Windows XP or later Windows Versions.
It is compiled to run on both x64 and x86 platforms. You will need to have .NET Framework 4 or later, it is sufficient to only have the 'Runtime' installed.
The index and search technology that got integrated into the project is the .NET port of Lucene. A serial port (or any USB2Serial solution) is required only if you want to communicate with your TI-99 or if you want to use the Search from your TI-99.
Why?
====
Whenever I am on a TI meeting or hitting a new website, it seems that I get tons of disk images, that I manually have to compare against my current collection.
I got tired of doing this over and over again. There must be an automatic way to check the new files for their uniqueness.
Imagine, having to find a certain Ti File - mostly a program - in your collection. How do you know on which Disk Image and in which Path it is stored?
The problem is, a Windows search tool can't look into your Disk Images and gives you a list of Ti Files with the name "ROS". Maybe you would even know the size in sectors, its Filetype, the Ti Diskname or some other Meta Data. However for your Pc your disk image is simply a Pc file with a Pc filename, a Pc filesize and some Date Information. Until now, most people started Ti99Dir or TiImageTool and opened one Disk Image after another until they hit the Ti File. How much cooler would it be if you have something like Google, customized for your TI-99 Disk Images? What if Google would know exactly all TI relevant information about your Disks, and it would let you search by Ti Filename, by Ti Diskname, by Ti Filetype, Size and more. Well, Web99 is trying to become exactly that search engine for you. It is even trying to become such a search engine usable from your TI machine.
Uniqueness
==========
For each stream of data you can calculate a Hashkey. I am using the MD5 128bit algorithm to generate those. This means the result is a 128bit length Key, usually this is written in hexadecimal form and therefore such a key looks like '88ec1168efbd75617d28fa3ade124dfa'. For our purpose this lenght should be more than enough to ensure uniqueness. Based on the same input, the same Hashkey is produced. So if you have two files, calculate their Hashkey and they are different means that those files are not identical. So comparing becomes a lot easier, we simply need to calculate Hashkeys once for everything and compare those with each other. The dupes will show up immediately because they have the same Hashkey.
The check for uniqueness can be done on all kind of levels.
So I started the idea to calculate an unique identifier for each Disk Image and every Ti File on my Pc, based on their binary content and meta data.
A program would be able to calculate these for a new set of Files and compare each against your collection.Version 0.5 Beta 4 from 2015-12-28
Version 0.5 Christmas Edition from 2015-12-25 (with a complete Index)
http://www.ti99.eu/web99/Web99%20%5B2015-12-25%5D%20v0.5%20xmas%20edition.zip
Other Versions:
2015-11-24 Version 0.5 Beta 2 [with Classic99 Export]
2015-11-22 Version 0.5 Beta
2015-11-12 Version 0.4d
2015-11-09 Version 0.4a
2015-11-09 Version 0.4
2015-06-04 Version 0.2
2015-05-24 Version 0.1c
2015-05-17 initial public release - Version 0.1
-
5
-
-
I can only agree to the statements above! it's a pleasure to be part of this community.
In 1995 I donated all my TI-99 stuff and gave up the hobby mainly because I didn't know there were still other people or even an active community.So I know exactly how it feels if you are stuck with some thing and there is no one you can ask (at least that was what I thought).
And even if you were successful with some project, there was no one to share it with. How depressing.
Later I watched online for websites about the TI-99 from time to time, even had some fun with the early emulators.
And at some point I wanted to have the real hardware again and really dig into it!
And the community did welcome me with open hands, I got donated tons of stuff and I am enjoying this hobby a lot since I am back.
Whenever I have a question, multiple answers are coming for sure.
I try to help in preservation of TI-99 related stuff. And on sunday I will release a first public version of Web99, which I hope the community will enjoy.
-
5
-
-
can i change the Scanlines Setting to be active as default via some software Changes only?
If not, are the pins for the JMP2 jumper on the F18A on the board or do I need to solder anything to add this jumper?
Sorry, it has been long since I have seen the F18a hardware...
I use it almost daily but only see the vga connector

-
Hi Tursi! I hope you didn't take it personal. I owe you a beer if that is the case. I respect very much your work in the emulator.

It's just when you learn about the inner structure of the TI, the oddities are always an eye catcher.
I thought, if such an diskimage was breaking Web99 (the TI tool I am working on), therefore I thought it might be interesting to see how the other TI Software (Emus, Disk Tools) is handling this particular one, therefore i will probably post more odd disk images in this thread.
kl99
-
Used Emulators:
Classic99: 2015-05-10 (interims)
Ti994w v4.4c 2015-01-10
Pc99 Stage 6 within DosBox
Mess 0.161b x64 Windows Binary
Win994a Version 3.010 4/2/2013
Js99er 2015-05-10 (online version)
Used Disk Image:
SDUMP V9T9.dsk Disk Image V9T9 original - for all except Pc99
SDUMP.dsk Disk Image PC99 original - for Pc99
Test 1 - Autoload of LOAD in XB:
Classic99: passed
Ti994w: passed
Pc99: passed
Mess: passed
Win994a: failed
Js99er: passed
Test 2 - RUN "DSK1.LOAD":
Classic99: passed
Ti994w: passed
Pc99: passed
Mess: passed
Win994a: failed
Js99er: passed
Test 3 - handling of Filenames with special chars - the LOAD Basic Programs loads "SDUMP1.." [ >53 >44 >55 >4D >50 >31 >0D >1B ]
later "SDUMP2.." [ >53 >44 >55 >4D >50 >32 >1B >0D ] and "SDUMP3.." [ >53 >44 >55 >4D >50 >33 >0D >1B ] are loaded as well.
Classic99: passed
Ti994w: failed
Pc99: passed
Mess: passed
Win994a: skipped
Js99er: failed
Test 4 - Software SDUMP running fine (requirement of PIO Device is excluded):
Classic99: passed
Ti994w: skipped
Pc99: passed
Mess: passed
Win994a: skipped
Js99er: skipped
-
2
-
-
Should be easy enough to fix with a sector editor. No change to emulators required.
The purpose of an emulator is to emulate the machines behavior. If it works out of the box on the real machine, it should work without a fix on the emulators as well.
If that is not the case, the emulator behaves different. At least regarding the Autoload feature of Extended Basic. It seems that module does a binary search within the File Descriptor Index Record to find the FDR of "LOAD" exactly the way it was specified for the Disk Peripheral. And therefore according to the specs for LOAD to autoload it doesn't matter whether the first entry is 0x00 or not. And therefore it doesn't matter on the real TI and the disk image is working there. Therefore it shall work on emulators as well.
According to the Software Specifications for the 99/4 Disk Peripheral:
"6.1.2. File Descriptor Index Record
...
Since the file descriptors are alphabetically sorted in this block, a binary search method can be used to find any given filename, limiting the maximum number of disk searches to 7 if more than 63 files are defined. In general if between 2**(N-1) and 2**N files are defined, a file search will take at most N disk searches. To obtain faster directory search response times, the system will prefer to allocate data blocks in the area above AU number 34 (>22). Only if no AU can be allocated in that area will the disk data block allocator start allocating blocks in the AU area 2-33."
-
I got a Disk Image of SDUMP, made by Quality 99 Software.
It includes multiple copy protections.
The software works on the real TI-99, and in PC99 it works as well.
However most Emulators fail to get the software running and therefore behave different than the real TI.
First of all, TI-99 Dir and TiImageTool both fail to show the files that are on this disk.
The reason is that the author added 0x0000 as the first entry from the File Descriptor Index Record - Sector 1.
Sector 1 is where any catalog program shall check entry by entry to get the complete list of File Descriptor Records on the disk, it shall stop once it hits 0x0000.
Since the first one is manually set by the author to 0x0000, any cataloger stops searching for any files and therefore thinks the disk does not contain any files.
So why does it work on the real TI-99 at all?
Well, the Autoload feature from Extended Basic is loading LOAD and seems to bypass this check.
More interesting bits are the disk is set to have unusual 35 tracks defined, it's set to have all 360 sectors used.
The Basic Programs on it LOAD & SDUMP contain the basic file-protection that disallows LIST and SAVE.
The Assembler Files all have special characters at the end of their filenames which breaks the FILETYPE check of TI99Dir, even if you manually fix the FDR Index in Sector 1.
TiImageTool still refuses to load a fixed FDR Index Version of that DiskImage. It says: "Defect or missing file system: Sector 19535 beyond image size."
SDUMP.dsk is the original DiskImage [PC99]
SDUMP-C.dsk is the "cracked" version with the fixed Sector 1 (FDR Index) [PC99]
SDUMP-C V9T9.dsk is V9T9, converted from the SDUMP-C.dsk [PC99] with TI99Dir.
So let the challenge begin...
Who fixes his tools/emus first?
Klaus
-
this is awesome news. at the same time this comes too late for the Birkenau TI Meeting in Germany by just a day or two.
Klaus
-
-
i didn't know a japanese TI color monitor was released, here we go:
http://www.ebay.com/itm/231508272598-
1
-
-
-
that was super quick. Thx Rasmus!
-
Hi Rasmus!
I tried to let JS99 speak from Basic in Terminal Emulator II but the log shows warnings:PC reset to >0024 Speech: reset Executing disk DSR power-up routine. Executing disk DSR FILES routine (n = 3). ... Speech: speak external Begin talking *** Warning *** data_write: Ran out of room in the tms52xx FIFO! this should never happen! *** Warning *** data_write: Ran out of room in the tms52xx FIFO! this should never happen!
Here is what i did in Basic:
OPEN #1:"SPEECH",OUTPUT
PRINT #1:"HELLO THERE"JS99 asked me to update and i confirmed that before trying it today.
JS99 is really nice!!!!-
1
-
-
HI Jmazzy! If you have a working Serial connection between TI and WindowsPC I can send you a not yet released Windows Program that solves the Egg/Chicken problem for you.
All you need is to type then on the TI-99 is OLD RS232.BA=9600 and the loading of a PROGRAM starts, it should work with an Assembler Program as well.-
2
-
-
It might be worth to compare our machine to the tms990 mini computers that were released with more Ram. As far as I read this was going up to 2MB of memory mapped Ram. They either used the TMS9900 or a Schottky TTL processor as Cpu:
-
would a GRAM version helps you? I think I have the cartridge for Junkman Jr.
-
The two versions you posted are identical, Rich. The zip files might differ, but the content is identical.
As there have been several GPL Assemblers released: Is this your GPL Assembler?
Do you know - Did we ever get the GPL Assembler mentioned in the GPL Programmer's guide?
-
Fred is great! He gives the community so much!
I also feel like a lot of things are going on in our community and it's amazing. You can call me addicted. The whole weekend I was reading GPL programmers guide, taking notes, summarize things in an Html glossary.

Web99 - Search your TiFiles/Disks v0.5 Beta 4
in TI-99/4A Development
Posted
a new version v0.1b got released:
check post #1 of current thread for the file.
http://atariage.com/forums/topic/238433-web99-initial-public-release/?do=findComment&comment=3239442
Kl99