Jump to content

mizapf

Members
  • Content Count

    5,351
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by mizapf


  1. 7 hours ago, apersson850 said:

    This does of course also imply that you should sit down and plan the features, all of them, for your software first. Only when that's done, you start designing the program, to make it do these things.

    I guess you'll get into some discussion with fans of "agile" development. :-D

    • Like 3

  2. 6 minutes ago, Harry Potter said:

    mizapf: TIImageTool should work on my Win10/64 laptop but not on my other computers.  I want it to work on DOS 6.2, Win98 and WinXP as well.

    If you find a Java (7+) for DOS, Win98 or WinXP ... good luck. 🙂

     

    No, honestly, this is a Java-based program; you can't expect to run on an ancient platform that never saw Java.


  3. Interesting read; some comments from me ...

     

    I never heard about "pseudo-registers"; it's not a term used by TI. The TMS9900 is a memory-memory architecture, hence the registers are in memory. At first I though you referred to the hardware registers as pseudo-registers (because you cannot freely use them). Registers are referred to in instructions; you have to provide their 4-bit numbers, unlike accesses to memory locations where you provide the address. From the point of view of the instruction set, it is not correct to say that the TMS9900 only has 3 registers; it does have 16 registers. If you like, you could probably differentiate between the hardware view (3 registers: WP, PC, SR) and the software view (set of 16 registers, freely locatable in memory).

     

    Some instructions (XOP, BLWP) do what the E/A manual calls a "context switch". The term context is usually a bit broader, encompassing registers and other relevant data for a process. For the TMS9900, the relevant data are only the registers, so the context switch is done by a branch with workspace change. The set of registers is officially called the "workspace" rather than the context.

     

    Also, a "dedicated 32-byte memory space" may imply that there is only one such space in memory. Any location in memory may serve as the start of the 16 word register area (if there is RAM, of course).

     

    I did not quite understand your explanation of X (Execute): This command puts the value of the operand into the instruction register and executes that instruction. Hence, you can e.g. create a command during runtime.

     

    You mentioned the "special role" of R0 in addressing, but you did not explain. The point is that you need one way to express the direct memory adressing without offset from a register, and for this, R0 (=0000 in the register number field) is used.

     

    As for AI, the MIPS architecture neither has a (native) "subi" command, but only "addi". I never missed such a "SI", as the constants are always expressed in two's complement.

     

    And my favorite topic, the 16-bit vs. 8-bit issue: There is actually no reason to call the TI-99/4A not a 16 bit machine. Have a look at the Intel 8088. Would you call machines "only conditionally called 16 bit" if they used a 8088 because it has a multiplexed 8-bit data bus as well? The data bus width is not relevant for the architecture width. In my view, many people seem to be way too cautious about this topic, as if you could be arrested for falsely claiming it to be a 16 bit machine.

     

    Edit: What you should probably mention in this respect is that the system architecture of the TI-99/4A with its multiplexed data bus does not fully exploit the power of the 16-bit machine, also taking into account the very conservative wait state handling (2 wait states per access, which doubles by the multiplex).

    • Like 4

  4. 49 minutes ago, hloberg said:

    One thing I have thought about is people who create new TI game manuals in the style & look of the old TI game manuals. Would that look and design of the original manuals also be copyright? Not that TI would ever challenge though but just wondering. Or is that a trademark thing?

    This is my concern that I expressed a while ago when people designed labels for self-made cartridges. The TI-like labels and the manuals look really neat, but at the same time they show why there is something like copyright: You make them look professional - because TI made them this way.

     

    It might be about time to design something new like a "TI veteran style" or whatever we'd like to call ourselves.


  5. Understood, but since the subprograms don't have names, it will become a bit difficult to find e.g. the sector I/O subprogram of a given card, don't you think? Any program that intends to make use of level-2 subprograms would have to include some knowledge what number the sector I/O has on which card.

     

    In fact, I faced this question just when I wrote the custom OS loader: If I don't assume a CRU address for the SCSI controller, how do I find its >24 program? My solution is a special DSRLNK that first searches for the name "SCS1" and then, in that very card, looks up the subprogram.

     

    So may I assume that >84 does the same as >24? I'm using it to load the plain sectors.

    • Like 1

  6. What I noticed is that in the IDE DSR, the >24 subprogram is not available but instead >84. I do not know whether it is fully compatible - Fred should be able to tell. It must deliver the file information but also the contents of the specified number of sectors at a given start location.

    • Like 1

  7. Here is a tool that I wrote during the last days, but which I wished to have for decades (at least since I have a SCSI controller). Don't ask me why I did not think about it earlier.

     

    If you have a Geneve with Swan EPROM (0.98) and a modern card like SCSI, you had to use drive A: to boot the Geneve, even though your SCSI drive works perfectly after booting. The old EPROM could only detect different floppy controllers (TI, Myarc, and CorComp), the HFDC, and the Horizon card. So your way would be to burn the 1.00 EPROM.

     

    If you don't feel like swapping your EPROM, this program will be the alternative. It is a boot loader that can also be adapted to other devices if desired. I added the source code on the disk image. You need GenASM/GenLink to build it; just call "MYMAKE". Copy the resulting SCSILOAD on A: as "SYSTEM/SYS". You also need a AUTOEXEC on A:, since it is still loaded from there. I also found that I have to add a "PDMA ON" to make the SCSI card work.

     

    The idea is that the EPROM will attempt to load this very small SYSTEM/SYS and run it. Then, this program searches the DSR space for a SCSI card (by the name "SCS1") and the subprogram >24 (direct file input). Having found them, it loads a file "@SYSTEM" from the SCS1 drive into pages 0-15 and then starts the loaded program. This happens to be the real GeneveOS kernel file (originally named SYSTEM/SYS).

     

    Here is a short video that shows the program in action: http://www.mizapf.eu/files/genboot.mp4

     

    The flashing border is just a way for me to see whether all pages (each 8K) are loaded. As you can see, the load time is really cool. (The SCSI drive is a SCSI2SD.)

    scsiload.dsk

    • Like 6

  8. The wait state behavior is buried inside the Gate Array and the PAL. On the board, there is not even a place for a memory expansion; you cannot solder DRAMs on top of each other. So the "future expansion" was meant to be in the infinite future, or possibly in another time line.

     

    Or, in other words: These things may have been planned originally, but the eventual design of the board and the custom chips made them moot. But obviously, no one cared to rewrite these items in the specifications.

    • Like 1

  9. Depends on the country. In Germany, any works lose their copyright* 70 years after the death of the author, and there is no fair use clause.

     

    Many thanks to the publishers for their persistent lobbying. 😞

     

    For that reason, I did not put my name in the HFDC manual rewrite.

     

    *There is another term for it, "Urheberrecht", which is not exactly the same, since the author cannot give away his rights but can allow certain ways of distribution.

    • Like 1

  10. 26 minutes ago, Asmusr said:

    Luckily no games of significance have been developed for the Geneve, or we could really have lost contact with our good old TI-99/4A 🙂 

    While you're talking about it, I should really continue on my Arkanoid clone. 🙂

     

    • Like 5

  11. I do appreciate Rasmus' work, and the achievements with the F18A are really stunning. As I said, my concerns are much smaller today than in the past when some people already claimed this to be the "new standard".

    • Like 2

  12. 7 hours ago, Asmusr said:

    Apparently you feel you have to say that every time I make something for the F18A. I can only guess about the reason... 🙂

    I believe that Fabrice just wanted to express our latent concern that with all those exciting new features, we gradually lose contact to our good old TI-99/4A, with its potentials and its limitations.

     

    Since we have had quite many developments for the normal console, in particular from you, my personal concern is not as high today as it was when the F18A showed up.

    • Like 4

  13. I removed both PDFs. I believe there is no other way but to re-scan the documents, so this won't infringe CaDDs copyright on the scanned documents. As for the TI copyright this is somewhat unfortunate, but I don't believe that TI would try to enforce their original copyright from 197x or 8x.

     

    Two years ago I had a short conversation with Mike concerning the TI-99/4A User's Guide that also appeared on WHTech since 2006. It was also taken from the Cyc, and he asked to take it down.

     

    Once I started a rewrite of the Editor/Assembler manual from an own scan (similar to the HFDC rewrite that I did some time ago). I learned that there was already a typeset version by CaDD, but this would be available via the Cyc only, too. Hence, it makes sense to recreate the manual. I appreciate all of Mike's work with CaDD, but the last thing we need is a monopolized source of manuals. My 2 ct.

    • Like 2
×
×
  • Create New...