Jump to content

SteveB

Members
  • Posts

    548
  • Joined

  • Last visited

Everything posted by SteveB

  1. PS: I can confirm, it is RADIX-100 for numbers in INTERNAL ...
  2. The IV files seems to have a Record-Size and an Element-Size from what I've seen in the Hex-Editor. At least easy to keep things apart. DISPLAY is, just like the name suggests, for pretty output, while INTERNAL is clearly meant for further processing. Thank you for the documents, I scanned through them immediately. They are more detailled than the general XB docs, but short on the format of the binary number representation. I will check if this is also RADIX-100, which has also 8 bytes length and is well documented (but not yet fully understood by me... Will work on the page 279 of the EA manual to grasp the concept). It would be nice to have a grid-based editor for INTERNAL files, but on the other hand, I can hardly think if an application today using this, especially the BASIC Compiler only knows DV files. Reading data with random access using REC for game-levels would be great though. I learned now, using DV files would be best to use one variable per record (PRINT, INPUT,LINPUT), with DV not even wasting space. Having one file per "complex record" could make it work when compiling, at least until you reached the 127 files limit, by using dynamic filenames in your program including the "record-number". Not knowing if an eight bit record is a string or a number is irksum, but we know this from Excel... Not always right. If you have a homogenous, repeating structure, you could identify columns as numbers, but XB allows you to PRINT every line differently. I will dive a little deeper and see, if I want to write something for it.
  3. Your text does help ... your code not so much, as I am not a Python programmer and this is just the header-handling, which I know for programs and just need to extend this to data files. I think the focus should be first on DV files first. I don't really understand how lists of variables are handled, i.e. PRINT #1:A$,B$,X,Y . Can they be read with INPUT #1:A$,B$,X,Y with XB? I can't see a delimiter somewhere ... A One-String-Per-Line Editor should be rather easy, but multiple variables are still mysterious to me. I didn't have disks BITD, only stored german/english vocabulary on tape .. this worked and I never asked why.
  4. I haven't found any documentation on the internal structure of the files created by TI in the different modes D/I, V/F, with one ore multiple variables, string or numbers. Is there something available to start with, other than using a Hex-Editor and look up all combinations? I'm quite sure there is something in the various books and online articles, but Google failed me somehow. The TIFILES header is well documented, this won't be a problem.
  5. Started testing against myself today ... what can I say, I always win this way. 🤪 In CPU Overdrive a match takes about 5 to 8 min .. And I hit the 100 steps limit about one or two times in a match.
  6. I have some of the functions already coded for writing FIAD TIFILES in TiCodEd. Currently I am busy writing a tank control, but perhaps I can fix something together later on. Could you provide two or three examples of the files you would like to edit?
  7. ... or take a look at Fred Kaal's Ti99Dir at http://hexbus.com/ti99geek/Projects/ti99dir/ti99dir.html
  8. You don't even deny it ... @Vorticon Please confirm that there will be no wildlife on the battlefield to avoid ...
  9. The more I dive into the code, the more I learn.... When I see the enemy, ABS(DIR-DIR1)=2 will do the trick as well ... The difference would also be 2 if we are back-to-back, but then I wouldn't see him either...
  10. ... it may take some time ... my tank just turned the other way. Coward.
  11. There are multiple versions around, i.e. https://archive.org/details/TI994a_Editor_Assembler_Manual
  12. Beware of the new self-proclaimed expert (me 🙂) Rich did not copy the source file but the assembler listing output. This contains the source-line and the memory-location of each statement and the machine code in the first thre columns of four digits each. The actual source is in the blue box and has the format: And to finally answer your question ... the comments are discared by the assembler, but essential to understand your own code only minutes after you wrote it... at least for me. Take the line 0938: The CI R9,STKEND will need 4 bytes when assembled and the first word will be stored in >6482 and the second word in >6484, as we are in a 16 bit architecture and instructions always start on an even address. Most lines only result in one word, like JH ERRSO, therfore the format with 4 hex digits works on many lines, otherwise additional lines are inserted in the listing. TMS9900 assembly isn't that hard to start if you understand the conventions like usage of the registers and other conventions.
  13. ... but the manual is online as searchable PDF and most programming is now done on the PC with faster and better editors and assembler programs. So it has some sentimental collectors value, unless you want to forgo the comfort of the modern PC tools and work like in 1981. This is why I have and don't use Microsoft Multiplan ...
  14. I did this after 2.4 ... so expect an improved code-completion: VC<Ctrl-Space> will bring CALL VCHAR( in the next release. I also added CTRL-T for toggling comments and CTRL-U the Uppercase Beautifier. I have no clue why it is not working for you, I have no problems with V2.4, the EXE dated 2022-10-24. Please check with Help/About if you have the latest version running.
  15. This would be a big speed increase ! Please keep us posted in the RXB thread.
  16. 1. "Uppercase Beautifier", I wrote. "Call screen", when beautifying, it only change it to "CALL screen" (ver. v24), Same with xpos, it kept it lower case. Is this how it should work? PS! What about a short cut to that "Beautifier", Ctrl-U? well, XPOS is not a standard CALL routine and only those are affected beside the keywords. But it works with CALL SCREEN() in my installation of Version 2.4, which I use for the CCombat-Challenge (and not my half-finished V2.5). I will consider adding some short-cuts ... 2. Also... what about if I Export from SXB to XB. What if I could in pref. say to TiCodEd, ALSO copy the text in XP. So I can paste in right into Classic99? (save me some steps) You can actually skip all the steps. But first, the XB text file to be pasted into Classic99 is always written on the build-process with the ending xb. The next line is more important ... this is the tokenized program, you can write to a FIAD Disk in Classic99 and load from there. I configured the directory C:\Data\TiCodEd\ as DSK5 in Classic99 and can RUN "DSK5.CCOMBAT" directly in Classic99. To do so, you have to go to preferences and configure the "Integration" like: Then go to Classic99 and configure: With the configured integration you get two additional functions: a) in the Project Page: with "Auto-Run" enabled each successful build will send a key-sequence to Classic99 starting your program. If you change names you may re-generate the commands by deleting them completely and then double-click the editor. If you don't want to run it each time, deselect the Auto-Run and... b) go to the buttom of the Log-Page and press either Load, Run or Compile manually (or the key L, R or C). No need for Paste! 3. I made a mistake and put the Characters from 32 and up... (Char page) In Extended Basic, Can I move it to XB256 or Auxiliary Not directly ... you may close TiCodEd and edit the CSET-File manually: but make a backup first! You can change the char-page by changing the first number (1=XB,2=XB256,3=Aux) and the character-number in char 2-4 and again in 0-xxx. Did I mention to do a backup first? 🙂 It would be difficult to make a GUI for this to edit and I haven't found the time and broad demand to do so. 4. And can I move it from 32 and start it all from some-place higher, like Char 60? I was using Display at and I only got my Char and not numbers. So I wish to move Char above numbers so I can get values from Display at. See 3. 5. "code completion feature" is it gone? No .. start typing and press Control-Space, like VC<Ctrl-Space> will bring VCHAR. But it should bring also the CALL in front which it doesn't right now... I have to check this. 6. I tested the "animation" function on the Char page, very nice function! Can you also do that with a 4*(8*8) Sprite? PS! I did this animation, first in another program, but your Char page was more useful when I knew how it was supposed to be. Yes, just select 1 row and 4 columns like: This works on 1 row and n colums and 2 rows and an even number of columns. Have fun! Steve
  17. It is the easiest way to play new homebrew games on the real hardware, when you have a 32kb RAM expansion.
  18. At work we have ELMO-cards to hold up in meetings ... ELMO = "Enough, let's move on..." Sounds good to me.
  19. If you do so you may throw in a 20000 just before your SUB TANK2 routine to set the line-nr counter to 20000 so your XB code always starts at this fixed line-number... just until submitting.
  20. Thank you, I didn't notice this! Version 1.1. will have no AORG and adjusted demo-programs. Let's see what else pops up in the next weeks ...
  21. I would be honored if it was included. As this is my first assembler program since 1986 (6502 on Atari XL) and my first in TMS9900, I am not sure if version 1.0 has the maturity needed yet. Regarding AORG, I had the CALL LOAD in my XB program. With AORG it is overwritten on each new load, without AORG you run out of memory when the loader tries to load it above the first load. So AORG was very usefull during development of the library. Perhaps this is not true if you develop a program using the stable library later on, as none of my programs have a CALL LOAD for XB256 either.
  22. In 1984 nobody called the TI-99/4a fast ... incredible what is possible now on the same hardware. I haven't played Morg Blaster 2 yet but will do this weekend...
  23. Vorticon used Bresenham's line algorithm to build the line of sight and stops when touching a wall. I didn't know this one before I implemented in in the Multicolor Library, but now I recognize it 50 yards against the wind.... 🤪
×
×
  • Create New...