Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

47 Excellent

About vol

  • Rank
    Star Raider

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I have found out that MDOS provides 32 bytes of on-chip RAM for an application program registers but MDOS itself uses all other on-chip RAM for its services by default. You have written that you could put some of your code there... Would you like to help me make a similar trick? I need at least 96 additional bytes there.
  2. I was an Amiga user only in the 1989-1990. I also used it mainly for games, but also edited and printed my student papers a bit. I remember my German friend bought a cheap 80286 card for his Amiga in 1990, he just placed it instead of the 68000 and got the IBM PC AT @7 MHz! We have nice Amiga emulators now, so I made Xlife-8 using FS-UAE.
  3. I have been able to make Hello World myself. It works. However I had to use two stage process. I got OBJ-file using the XAS99 cross-compiler. Then I used LINK under MDOS to get an executable file. Is it possible to get an executable file with XAS99 directly? XAS99 can produce binary files but I still miss how to put a binary file to a disk image using XDM99.
  4. You are right. I am not an expert for this system. Sorry, I was just jumping to conclusions. Indeed, I was wrong. In my defense, I can only give two reasons: 1) the TMS9995 architecture is very unusual - I can't imagine that its fast memory is split in two; 2) this TMS9995 memory map (figure2, page 2) shows FFFA-FFFB in the same shading as fast RAM. So some stereotypes just misled me. Thank you very much for your correction. I really thought that there was something wrong on this page. Anyway, it was just MHO - I always outlined this. Thank you very much also for your help with the hardware and advice. I hope to get some more your help in the future. BTW I have also interest in a topic somehow relating to fractals. However I prefer more digital "fractals" - cellular automata. I have a multiplatform project Xlife-8 - I began to think about porting it to the TI99/4A but Xlife-8 requires at least 40 KB of RAM... And you can notice I am (like you) an Amiga user too.
  5. You know IMHO the next text would be corrected on this page. IMHO all memory locations >F000-F0FF is the TMS9995 fast internal RAM. The NMI vector is at >FFFC-FFFF and it is in external RAM.
  6. Thank you very much! Your results show that MAME has a very good accuracy for the worst case (F200), MAME is only about 2% faster than your hardware. However cases with faster memory are a bit less accurate: 8300 - 4% faster, F000 - 5% faster. Anyway it is a very good result the emulation of so rare and unique hardware.
  7. This page is about input frequency but all instruction timings are based on CLKOUT frequency. I can't agree that DRAM is just slower than SRAM. It depends on their types. SRAM is easier to connect and use but it is usually more costly. So a small amount of SRAM in a system can be cheaper than the same amount of DRAM. The classical example for this is the TI99/4A killer, the VIC-20 which uses SRAM, not DRAM.
  8. I am seeking just a simple example like a program which starts, prints something and ends.
  9. vol

    PAL or NTSC?

    Let me explain my thoughts about this idea. I have written code which implemented a simple stopwatch. I just counted number of interrupts and then divided this number by 60. It works fine for an NTSC system but for a PAL system we need a different divider, we need 50 instead of 60. So I sought an easy way to distinguish a PAL system from an NTSC. I also uses more complex code which uses the TI99/4A timer and is PAL/NTSC independent. So when I got an idea to make even more complex code to detect PAL or NTSC it sounds for me like a joke.
  10. Are there any simple application program sources for the Geneve? I have a plan to write an assembly program for MDOS but I don't know how to do this. The sources of Hello World or similar programs can help much. Any other materials which can help for my task can be also very useful.
  11. Of course I know about the TMS9995 datasheet but I missed the Ninerpedia page. Thank you. But this page content rises questions. The schematic there shows a clock divider which is located just on the entry of CLKIN signal. As you have noticed, according to the TMS9995 datasheet all instruction timings depend only on CLKOUT. So the internal fast memory definitely works at 3 MHz. There is no 12 MHz in any official timing data relating to instruction timings. However there is also a mystery for me about SRAM. The BBC Micro, a 1982 computer, use 4 MHz DRAM. So why doesn't the Geneve, a 1987 computer use 3 MHz DRAM? I can suggest an answer. Maybe 640 KB DRAM at 3 MHz was too expensive in 1986 and it was easier and cheaper then to add 32 KB of fast SRAM than 32 KB of fast DRAM?
  12. It is nice to get some results from so interesting hardware. BTW I have just checked a document GENEVE FAQ 05.19.2001 Compiled By Dan H. Eicher (here) - it claims that the TMS9995 uses 3 Mhz clock, not 12 Mhz! This explains perfectly my results which shows that the TMS9995 is about 3.3 times faster than the TMS9900 at the same clock frequency which perfectly corresponds datasheets. But why do we have these 12 Mhz in Wikipedia or MAME? Myarc ads also claim 12 MHz... Maybe it is a value on a quartz which is divided by 4 to feed the CPU?
  13. I could make custom variants of pi-spigot which could take advantage of fast RAM of the Geneve 9640. I got the following results (in seconds) for computations of 1000 pi-digits. 8300 F000 F200 TI-99/4A 69.1 123.8 123.8 Geneve 9640 30.7 21.8 56.1 The first column shows timings for the TI-99/4A version which puts all code and data in scratchpad RAM. The second column shows timings for the version which puts all code and data on the page at 0xF000 where the TMS9995 has its fast RAM. The third column shows timings for the version which puts all code and data on the page at 0xF200 - it is the worst case for both system. Any version can be used on either the TI-99/4A or Geneve 9640. I used XB versions but versions for E/A can be used as well, the timings must be the same for XB or E/A. The F000 and F200 versions use code which is about 5-10% slower than it could be. It is because of fast RAM at 0xF000 which divides upper RAM block and there is not enough RAM to keep 3000 pi digits there. The program therefore has to dynamically merge two memory segments and this has overheads. The results show that for the best cases [email protected] is about 3.3 times faster than the [email protected] This is rather implausible for me. The TMS9995 works without wait states when it uses its fast RAM so it must be at least 4 times faster. Moreover according to datasheets the TMS9995 has better timings for instruction execution than the TMS9995, at least 2 times better. So the TMS9995 must be at least 8 times faster than the TMS9900 but we got that it is only 3.3 times. I got all results from MAME. So I can again think that this emulator doesn't emulate the TMS9995 fast RAM properly. Helping with real hardware can be very helpful in clarifying this situation. The results also show that the Geneve SRAM at 0x8300 accelerates program execution about 2 times. However I don't understand the idea behind it. If the TMS9995 works at 3 MHz with its external RAM then why does it use SRAM? 32 KB DRAM at 3 MHz was quite cheap in 1996... Any hint? BTW Is it possible to move SRAM from 0x0000-3FFF to 0xC000-FFFF? This can slightly speed up the π computation. All programs are available on the attached disk image. XB program files have names PIXB, PIXBF0, PIXBF2. E/A Basic program files have names PIEA, PIEAF0, PIEAF2. BTW I fixed the timer routine so it is PAL/NTSC independent now. The ASCII Mandelbrot programs are also on this image. bmx.zip Thank you very much for your disk image. I have to confess I have not been able to get this program anywhere else. I dug this forum and whtech-ftp. Thanks also for help with a mouse configuration, it is not easy. Eventually I could run Fractals! I have been impressed by it very much. Thanks again. I attached several beautiful screenshots I got with it.
  14. vol

    PAL or NTSC?

    I've just checked PAL and NTSC ROMs. Surprisingly they are identical! So there is no an easy way to find out what system is used.
  15. vol

    PAL or NTSC?

    It sounds like a joke. We need interrupts to get timings and you ask to use timings to count interrupts. I seek rather a ROM byte sequence which allows us to distinguish NTSC from PAL. IMHO there were only several revisions of main ROM...
  • Create New...