Search the Community
Showing results for tags 'xdt99'.
Found 1 result
IDE for developing in TI99 Assembler on the PC (Windows) (using NotePad++ Editor, xdt99 Cross-Assembler and MAME Emulator) https://github.com/miriki/TI-xdt99-IDE/ Hi, all! A few may have noticed: In an xdt99 thread I have published a Batch for DOS that shortens a lot of typing work when developing software. After years of abstinence from the TI99 I actually remembered the "good old days" developing tools and libraries again and tried to recall what I was doing those days. Well, 35 or so years... Firing up the MAME emulator, using TI99_4ev as machine, a cartridge with Editor/Assembler inserted and the needed disk in DSK1 mounted I started typing a few lines while reading through a bunch of books and forum articles. Hmmm... A PC keyboard and the function keys of the TI99, two worlds collide. Yes, the editor _was_ a very good one, at least that days. But nowadays I really, really prefer the comfort of NotePad++ or at least any other GUI based editor. Then I've read about the one or another Cross-Assembler to develop in Windows and using the output to mount within MAME. Almost right from the beginning I got stuck with xdt99, a collection of not only a cross-assembler, but other tools like a "disk creation", too. An integration into "IntelliJ IDEA" sounded good, but.... Hmmm... Maybe I have not digged deep enough, but there is only the editor used for syntax highlighting, isn't it? Putting things together: A batch for DOS (Windows, Microsoft, sorry...) was created that enabled the workflow from editing the Assembler source code assembling the source code into object code creating a disk which contains the object file starting an Emulator with this disk mounted plus a few more tasks... To be honest: I don't like DOS batches with more than, let's say, 25 or so lines. The syntax is ugly and the CLI commands are far from comfortable - not comparable with a high level language. Changing default values is a pain, (re)storing user settings a tremendous effort and doing all with user parameters results in a jungle of % characters shattered across the lines. So I used that batch only as a sketch for a "real" project: An IDE for those tools written in a high level language. I decided on C# (VB.Net would have been the alternative), because it is the preferred language right now in our company. Training... If anybody would like to have a look at it: I just published that project on GitHub. That was kind of training, too. We use Azure DevOps in our company and I have to get familiar with those cloud based team thingy. So hopefully I published correctly - it is my first published project over there. https://github.com/miriki/TI-xdt99-IDE/ This is the main page of the project. There is a README, but empty as of now. You will find a subfolder "TI xdt99 IDE" though... There is a subfolder "snap" which contains a few screenshots of the published project: Settings_Xdt.png shows the settings to include the tools from the xdt99 package. Settings_Mame.png shows parameters for the emulator, including configuration of the peripherals etc. Settings_Ide.png shows the standard working area with buttons to start actions and checkboxes to set options. Output_CommandStack.png shows the list of calls to external tools like the editor, assembler etc. Output_Standard.png shows the standard output of the last command, for example the directory of the disk. Output_Errors.png shows the error output of the last command, if there is any. Emulator_AutoStart.png shows the XB output from DSK1.LOAD if "catalog" and "autostart" is checked. Output_Result.png shows the loaded and started demo program I was just working on. Another subfolder "publish" contains a "setup.exe" that should install the IDE. I'd like to get feedback, if that thing runs without any problems. But what has to be done? Well... Perhaps it is best to show my setup: E:\TI99 mame64.exe >roms ti99_*.zip >hash ti99_cart.xml (thanks again, mizapf!) >cart editass.zip minimem.zip exbasic.zip >disk *.dsk >hard *.chd This should be enough to start MAME using e.g. ti99_4ev as machine. Try it... mame64 ti99_4a If successful, try inserting a cartride: mame64 ti99_4a -gromport single -cart exbasic If successful, try connecting a peb with a hfdc in slot 8, a disk drive connected and a disk inserted: mame64 ti99_4a -gromport single -cart exbasic -ioport peb -ioport:peb:slot8 hfdc -ioport:peb:slot8:hfdc:f1 525dd -flop1 disk/flopdsk1.dsk whew... After the first start of MAME there will be a few more subdirs like cfg, nvram etc. You might like to start MAME with -createconfig and edit the output mame.ini to suit your needs. I added cart and cart2 subdirs to the roms path, disabled the info screen at startup and the like... Then I added a subdir >xdt99 xas99.py xdm99.py xbas99.py >lib vdptools.a99 >projects >gmode gmode1.a99 etc. The "lib" folder contains a "vdptools.a99" file right now. There are only a few routines to avoid "BLWP VSBW" etc. in it. The "projects" folder contains the, as you already might have guessed, projects I am working on - for example a "gmode" subfolder. And in the "gmode" folder there are gmode1.a99, tmode.a99, mulcol.a99 and bitmap.a99. With this setup the settings on the XDT and MAME tabs should be self explanatory, kind of... The right hand side shows extensions for the filenames. For example the source "gmode1" gets expanded to "gmode1.a99" for the editor, is compiled into "gmode1.obj" and will become "GMODE1O" when copied to the TI disk. You may change the settings on the MAME tab and can use the IDE purely as a frontend, if you like. The "run" button will start the emulator without fiddling around with an assembler or anything else. BTW: Settings are loaded at startup of the IDE and saved when the IDE is closed or any external program is called. The IDE tab is the "all singing, all dancing" desktop for your development. The left box lists all subdirs aka projects, the right box lists the source files in that (selected) project. The selection is shown additionally in the two textboxes in the upper right (for later extensions). The "edit" button starts the editor, the "assemble" buttons starts the xdt99 cross assembler. It creates the object, image and rpk files, if checked. If "all" is checked, not only the actual selected source but all within the project will be assembled. The "disk" button creates the disk to be mounted for the emulator. It copies the source, list, object and image files, if checked. Again: For "all", if checked. Additionally it can create a DSK1.LOAD to show the contents of the disk and / or load and run the object file of the selected source. The "emulator" button starts the MAME emulator with the configured devices. If set up properly you might select "TI Extended Basic" from the master selection, get the disk contents displayed and after "please wait..." the compiled program should start. The "ADE" button is a shortcut: (A)ssembler, (D)iskManager and (E)mulator - all in one shot. So after editing / saving the source the test only needs 1) click on "ADE" button, 2) any key at the master title screen 3) "2" for XB, then wait... and enjoy! The menu at the top has no function as of now. The status bar at the bottoms shows info about running external tools to the left, "idle" to the right otherwise. Have fun! Michael