Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by kl99

  1. thanks for all this hard work mizapf. this is wonderful preservation efforts on our beloved machines and accessories
  2. Geneve is doing a good job when it comes to run 99/4(A) software. Can't we take their approach? I guess to go beyond some boundaries one would need to rewrite the Monitor&GPL Interpreter. If it comes to replace that all GPL code is coming via one Grom Read Port, same for Video Ram. There could be a 99/4a mode and a full 16 bit machine mode. A FPGA based unit could offer these seamless towards the user.
  3. This is interesting, would this approach also allow a Basic or GPL debugger on the currently running Basic? That might also be a nice function for this.
  4. especially you as the ti-99 console collector
  5. Hi Ralph, getting this monitor is a great idea. I have one of these Sony BVMs, it directly takes the Y, R-Y, B-Y output by the TI-99 PAL 6 pin. There is no need for any TI Modulator or RGB modulator inbetween. I also bought a NTSC slotin card to use it with the american TI-99s. Back then I posted infos and many photos in this thread: And I can only repeat, the pictures/video inside that thread don't do it justice. It is simple spectacular. The pros are simple: reference quality! scanlines! video/gaming is exactly like intended by the developers. Parsec never looked that good! The CRT gives the video, the sprites, even the text a very natural look, a distinct difference from seeing the same program running on a emulator, or having a NES mini (emulation) connected to your large lcd display. The quality of such CRT is beyond what you might be used from the arcades. The cons: doesn't handle sound, heavy, size of monitor. At the moment I don't have enough space to have this monitor regularly running as a monitor for my TI-99, I still aim for setting it up. Having such a Sony PVM/BVM would definately be the richest TI-99 video game experience you can get. Not sure, if you need it, if you are not into games, or if you are at the moment using the TI-99 for programming/office/management type of things. Since I bought mine, the market prices increased a lot. There is a nice Facebook group on such devices, that I started in 2017.
  6. really awesome results! you can be proud! just to get it right: - this interpreter is done from scratch by you - this interpreter aims to do TI Basic, not XB - this interpreter was not done with the source code or specifications of the TI-99 Basic interpreter and is therefore using the scratchpad different.
  7. i didn't follow the conversation. to get automatic measurement, without looking at the clock the right time one could use Classic99 and include saves to two different files, that both files were not existing yet. like this you can use the windows/dos filesystem timestamp for the windows files PRE and POST to figure out the timestamp, it is at least as precise as seconds. 100 OPEN #1:"DSK1.PRE",SEQUENTIAL,INTERNAL,OUTPUT,FIXED 128,PERMANENT 110 CLOSE #1 120 FOR I=1 TO 1000 130 CALL CLEAR 140 NEXT I 150 OPEN #1:"DSK1.POST",SEQUENTIAL,INTERNAL,OUTPUT,FIXED 128,PERMANENT 160 CLOSE #1 an alternate would be to use a clock device and write the time before and after a test to the screen or to a file.
  8. Thanks very much. After some research i now realize this was preserved 2020 by jbdigriz jbdigriz seems to have many documents on TI XB. Maybe you have some of the applicable documents retroclouds was referring to?
  9. Hi retroclouds! I only know of Revision 2.0 of the Product 359 Basic Interpreter Design Specification from 28th January 1979. It would mean a lot if you could preserve the more upadted version. One documentd mentioned in the list was preserved by Toucan as part of the CB wilson document donation to him while CB was still alive: Specification of a Texas Instruments Standard for the BASIC Language (June 9, 1978) 182 pages pdf There is also a related preserved document named "Home Computer Software Development System Programmer's Guide" from 15th August 1979, revised 6th November 1979. That one was preserved by Ksarul and was uploaded somewhen on atariage. I can upload it if it is no longer available on the original location. There is also a document named "Top Down Operator Precedence" in the Applicable Documents section, which got preserved into The Cyc. We still miss this main internal document: Home Computer Basic Language Specification (April 14, 1979) Does anyone have the ANSI standard yet? American National Standard for Minimal Basic (ANSI X3.60-1978)
  10. I am worried so much about our Berry. Several people have troubles getting a lifesign of him. Including David Caine, Fred Kaal and me. His Whatsapp Account shows last online at 18th feb 2021. He used Whatsapp on a daily basis. I think I had a phone call with Berry around his Birthday, 12th January. He was telling me about his health problems back then. His phone seems to be turned off and you immediately endup on the mailbox. In the Facebook Messenger I don't get the "reading" symbol, which would indicate he has seen the message. Was anybody of you in contact with him or got a lifesign of him somehow? Does anyone know the names or contact addresses of his relatives?
  11. all the best from my side as well to you Erik! I read the last months posts of this thread and only want to mention something about your possibility to load a file (cartridge) into the >6000 - >7FFF memory area. There you mentioned it is not write protected and therefore might act as 8K ram slot. While this write possibility is wanted in most places please consider - there are cartridges that use writing to certain memory addresses in that area in order to switch their rom banks. - there are cartridges that do a write because of a bug, which is not making an impact if the cartridge space is write protected (like on the actual hardware with an actual cartridge). - there is Mini Memory, which is (if I am right) also having some special writes for its functionality. Which is one of the few original cartridges actually using part of this address range to store data. Enjoy working on these projects, but also take it easy with your recent infection.
  12. http://www.ti99.eu/?attachment_id=123 http://www.ti99.eu/?attachment_id=87 My keyboards works fine. Jens-Eike has problems with his, some keys don't react at all, some keys auto-repeat too often. I know about many 99/2 having keyboard problems. Not sure if Hex-Bus and its slave mode offers the possibility to come up with a Hex-Bus Keyboard to overcome the problems with the installed keyboards.
  13. Just to warn you, easiest way is not the same quality as the best way. And in best case you end up with something that is still 100% of the quality of what kind of signal you started with. In the NTSC console this would be a very noisy composite video signal. So the Transformation will in best case not add additional noise and quality loss. The Transformation will never result in a better video quality than what you started with. Transformation helps to overcome some connection or compatibilty issue, not to increase the quality.
  14. Talking video signal or monitor effects. There is a large group of people highly interested in experiencing their video games with scanlines. This is happening on all tube displays and due to interlacing. This was very enjoyful on the arcade monitors, on the televisions and analog monitors at home. The better the quality of the display the better your sprites showed their individual scanlines. There is a hype after Sony PVM or even Sony BVM that were used as Professional Video Monitor or even Broadcast Video Monitor. Those have to fullfill higher standards than Consumer TVs. Super expensive back in the days, now the best way to experience your pre-hdmi video games. Modern displays are huge and colorful but lack this feature. And it is its own science how each console needs to be modded in order to produce the best possible video signal.
  15. Confirming, this was never happening on any of the PAL machines. I was amazed seeing Parsec and this effect the first time on a NTSC console. Knowning this as a game developer you might even intentially make use of this rainbow effect in your games. On PAL you could consider the timing off. 50 frames per second instead of 60 frames. Most games are running a bit slower allowing you to react quicker. This was not just a TI-99 phenomen, same for the Nintendo NES or Sonic on the Genesis. Is there any way to calculate the occurence of this effect? Knowning this would allow programmers use the effect, and would allow Developers of Emulators to add the effect as a Feature. It is not happening on the F18A vdp, so is it a result of using a NTSC composite signal? It is not related to the Tms9918 as such or?
  16. This is a real highlight Acadiel! Thanks so much for providing this. Since a few years I am in contact with one of the software engineers, that was working on a secret tms9900 computer project at TI. She still knows a lot of facts about it. It what a very interrupt driven operating system and less limited than the 99/4, but she forgot the project name. Now we finally can get confirmation if it was that project she was working on. She worked on drivers and on the operating system. That computer did run on a full CRT with full keyboard and the interrupt handler allowed to do background printing. Is there any more documents on the SR70 in the lot?
  17. Your statement assumes the game is stored in TMS9900 machine code, not TMS9900 assember object code, nor written in a high level programming language like Basic. But then you face the following... Situation: - no single CPU (also not todays CPUs) can run machine code from a mass storage device directly. - you can only run machine code from CPU memory. - to execute some machine code, this machine code needs to first be copied from its current location (disk, tape) into CPU memory, such a thing is typically called loader. So either you need to have such a loader in CPU memory or create one in CPU memory to be able to start the loader to be able to start your game. Finding such a loader: - such a loader was not part of the ti-99 console system software nor part of TI Basic that came with the console. - the console system software was on ROM chips and did only include the absolute essential stuff for an unexpanded console, it was NOT including software for potential expansions - the unexpanded console is only coming with 256 bytes of CPU ram - having a loader for running machine code within the 256 bytes of CPU ram would have hardly added value to the target audience. so not existing. - having a loader for a potential memory expansion would not fit the strategy of a tight console system software. so not existing. Creating your own loader: - TI Basic, that sits in the console, is your only way to interact with the computer, unless you plugin a cartridge. - TI Basic is limited, but can be expanded by inserting certain cartridges and selecting TI Basic from the Menu to have its additional commands available. (Mini Memory, Editor/Assembler, Statistics, Personal Record Keeping, Personal Report Generator, Terminal Emulator II, TI Extended Basic) - TI Basic with no cartridge plugged in is not(!) providing you with the necessary commands to create your own loader. This would at least require commands in TI Basic to write to the 256 bytes of CPU Ram or towards the CPU Memory Expansion. - TI Basic is not aware of a memory expansion. You can not access or use the memory epxansion from TI Basic. - TI Basic has an OLD (load) functionality but that is limited to load basic programs and it loads the basic program only into Video Ram since all of 256 bytes of CPU RAM are used by the system and the GPL and Basic Interpreter. Adding a cartridge - the expansion strategy of TI was to expand the functionality of the computer via cartridges: - TI Extended BASIC cartridge added new important features to the console, making full use of an installed Memory Expansion. It also adds commands to read and write to all installed CPU memory. With those extensions you can either create your own loader or run one created by another person. Those command extensions require the 32K memory expansion. - Mini Memory cartridge added 4K of CPU ram via the cartridge part and adding assembler functionality and also a loader for a game like you mentioned. Also it expands TI Basic by several commands to read and write to CPU memory allowing you to create your own loader. - The Editor/Assembler cartridge added tms9900 assembler functionality and came with several loaders for a game like you mentioned. Also this cartridge expands TI Basic by several commands to read and write to CPU memory. This cartridge requires the 32K memory expansion to start. - TI Writer cartridge came with a loader for a game like you mentioned. This cartridge requires the 32K memory expansion to start. Why does it even work via cartridge? - when you insert a cartridge, its ROM is part of the CPU memory and therefore any machine code in its ROM can be run directly by the CPU. So to sum it up, the Extended Basic or Editor/Assembler cartridge is not required but they provide you with a loader for Tms9900 machine code which is not part of the console system software. Instead of running those cartridges one could release a cartridge with nothing but such a loader. And yes, recently somebody managed to find a way out of the TI Basic sandbox and therefore allows to start a loader even on an unexpanded console without any cartridge installed. But this was never intended by the engineers of the console.
  18. Hi mizapf! Are there any comments files for our TI computers? This code annotations are supposed to allow comments next to the disassembled cpu memory addresses. I played around for a few minutes with this features and it seems nice. Would make sense to have this added for the first 8k of the 99/4(A) and for the 99/8 where we have the full source code with the original comments by the TI devs. And an created comment is not lost if you turn off mame. once saved to file it is used and shown whenever you start the machine in mame in debug mode. \comments\tomy.cmt Some small things I did wonder about. If you do add a comment via the debug window, it gets lowercased. The actual created file seems to use some kind of crc. Not sure which one it is using, which kind of blocks creating such a file outside of the debug window with some external tool. Using some external tool to create the file would bypass the lowercasing problem.
  19. Beery the problem is not having 32K of data to analyze but that the file includes both assembly instructions and GPL instructions and that this fact screws up the automatic disassembly tool approach. So that is why I asked how a disassembler internally works and does it assumptions. Knowning those I can repeat what is safe to be used in this case and NOT doing those things that screw up the outcome in this case. This is true for both disassemblers, be it for GPL or Tms99xx assembler. That is why I asked what facts I can use, like that addresses the PC stored are for sure Tms99xx assembly code lines, and working from the known good disassembled parts towards the unknown.
  20. I found an approach to create such a table. Yesterday evening I worked on the approach and created all possible values from 1100 to 3FFF. Will continue and publish a table on my website ti99.eu Would ask you guys then to verify that table.
  21. That computer is such a clone of the 99/4(A). Not just software wise but also hardware wise: TMS9995 cpu (I assume the system rom is copied from 99/4 like the BASIC and therefore not using any TMS9995 only instructions) TMS9918 video TMS9919 sound 256 Bytes CPU RAM only. 16 KBytes VRAM.
  22. Tomy BASIC is in fact TI Extended Basic. TI Extended Basic Source code (thanks to RXB), modified to assemble towards different CPU locations, stripped by some features will assemble into the binary that sits in the ROM2 chip of the Tomy Tutor Computer. ROM2 chip has 16 K but contains the 12K Rom block of TI XB (2 Banks with 8 KB but they share 4 KB), ending up in >9050 - >B900 of the CPU memory. This proof was only done last month and we hope to hear whether this copy was licensed or pirated. This is where it starts being interesting. We know TI Extended Basic heavily depends on GPL, actually 24K in Grom banks, and might also use the console GPL code. However the Tomy is not having any Grom chips. The necessary GPL code must sit somewhere in the Tomy ROM1 chip. But the same chip also contains all the assembly code for the console. So that makes disassembly of ROM1 (0000-7FFF) a bit more tricky than usual, as we have not only DATA and Tms9995 assembly instructions, but also Gpl and its DATA statements. So far I only found a few tables in ROM1 that are also in the TI XB Gpl sourcecode. Therefore I would like to identify first memory ranges of proofed TMS assembler code to no longer search in wrong locations for Gpl instructions. The gain of all this would be not only knowledge on Tomy Tutor and being able to extend its BASIC but actually seeing their solution to run Gpl code from normal CPU memory and we might even see a port of Tomy Basic as cartridge on the 99/4A. My current assumption is that ROM1+ROM2 contain the TI XB and some modified TI console rom. The disassembly should be of help identifying the origin of its system rom and then take the original source code for that origin (example: 99/4 system rom) and repeat the modifications so it compiles into the ROM binaries of the Tomy Tutor. This approach would provide the full source code with original comments of the TI developers, nice variables and structure towards a unknown system to be able to follow what is going on. This was achieved so far for the Tms99xx Assembly part of Tomy Basic (=Tms99xx Assembly of TI XB) (https://github.com/kl9900/TMS9900Family/tree/master/Consoles/TomyTutor/Rom2) Mostly only existing code lines had to be commented out from TI XB in order to produce the Tomy Basic ROM.
  • Create New...