-
Content Count
5,366 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by mizapf
-
Please report your issues directly to me, including the operations that you do and the expected outcome. It's on me to fix the issues. All tests that I tried seemed to work correctly, but I may have missed something.
-
Hmm, we haven't had Car Wars in our monthly competition yet, right? 😛
-
High Score Competition (June: Road Hunter)
mizapf replied to arcadeshopper's topic in TI-99/4A Computers
Hmm, if we're going for a new game every month, we'll have had them all soon. If I remember correctly, Centipede was twice (and I won both 🙂 ). This brings back my idea of another competition (in parallel to this one) where we're playing the same games every year, like a championship. We could have different leagues like "classic pre-1982", "third-party", or "post-2000". You'll get a score for your result (winner = 12 points, follow-up = 10 points etc.) which you have to defend every year (like the Tennis ATP ranking). -
R0 = >8304 R1 = >8302 R2 is unchanged On my (real) Geneve:
-
Interesting! Would you mind sharing this test program as well?
-
The Editor/Assembler manual states on page 89: If the destination operand is specified as Workspace Register 15, the first word of the destination operand is Workspace register 15 and the second word of the destination operand is the word in memory immediately following the workspace area.
-
From what I saw in the source code, the operation is a division of R15 by R14. The problem is that the dividend consists of the two words starting at the specified address, which means R15 and the subsequent word (R16, which does not exist). So R15 is at >A09E and contains >0000, the subsequent word at >A0A0 is >1000, and R14 is >0010. I'd read this as a division >00001000 / >0010, and this should be >0100, remainder >0000. So why this is wrong?
-
This is the microcode that I implemented in MAME: REG_READ, ALU_SETADDR_ADDONE, ALU_ADDONE, REG_WRITE, MEMORY_READ, RET for the data derivation sequence for *Rx+, according to the description in chapter 4 of "9900 Family Systems Design" (see attached copy). This is not a bug, but it may be a surprising effect indeed.
-
@AsmusrCould you please post the source code?
-
Ever wonder what the keyboard was really doing?
mizapf replied to FALCOR4's topic in TI-99/4A Computers
BTW, here is a chart that I once drew for my TI-as-USB-keyboard project that could be helpful. There is one downside of directly accessing the keyboard (not going through KSCAN): It won't work on the Geneve. This is one of those showstoppers for the otherwise almost perfect compatibility. -
High Score Competition (June: Road Hunter)
mizapf replied to arcadeshopper's topic in TI-99/4A Computers
Just for curiosity's sake - try playing it with the European version (50Hz) now. -
Right on time for the end of 2020 (at least here, at UTC+01), here is MAME 0.227. No changes after the snapshot above, but this is the official release (restricted to the TI family). https://ftp.whtech.com/emulators/MAME/ti99/ The macOS build seems to take some more time; check https://sdlmame.lngn.net/
-
When I see Schmitzi's new avatar, I wonder what happens if we play some Slim Whitman yodlers. 😛
-
I did it some time ago: To update to the most recent release, use that RPK, unzip it, check the entries in layout.xml concerning the files gromimage and romimage (could be another file name), and pack the (G)ROM dumps together with that layout.xml into a new extended_basic_28_gem.rpk. If your packing program does not allow using the rpk suffix, use zip and rename to rpk after that. Edit: Here is the RPK. Mind that I don't always watch this thread so that I may miss one or another new release. extended_basic_28_gem.rpk
-
I think I'll first create a DSK from it and upload both to WHTech. Edit: See https://ftp.whtech.com/source/ The c99-400-src.zip file is the same as above, but containing dsk images as well.
-
Updated RPK rxb_2020a.rpk
-
I just uploaded it to WHTech (Cartridges/MAME/rpk), thanks.
-
They actually changed something, as you can see in the schematics. They added amplifiers on the outputs (marked blue). The problem with Alpha Lock was that a depressed Alpha Lock and a high P5 line raised the level on the INT7 input so strongly that the resistance in the cable and the contacts in the Joystick were not able to lower the level deeply enough to be detected as a 0. The drivers may be a solution to this, but only you who have such a QI console will be able to verify this.
-
Important: Use http://ftp.whtech.com/ or https. That is, you have to access the server via HTTP(S).
-
I find it exciting to think about working with a TMS99xxx where LIMI is a privileged instruction that you can only use in kernel mode, i.e. which your programs do not have access to. This means a turnaround in terms of operation.
-
I remember I was already playing some "Telespiele" (TV video games) in those years, using a small game console with the unavoidable Pong, Tennis double (two paddles per user) and a "light gun" with which you could play something like clay target shooting, with a bright moving square on the TV screen. I also seem to remember we had different generations of games, one with pluggable cartridges, another with a fixed set of games as a selector dial. Beside that, I was already working quite intensely with the "electronics experimentation kits" from Philips, where you could build your own circuits (or rather the proposed ones from the manual). In 1982, when I was 12 years old, there was a question about upgrading to the next video game generation, when my father suggested to go for a "computer". The ZX81 was available for some time already, so we followed the news and already thought about buying one, when he suddenly suggested to take the TI-99/4A, which I never heard of before. The TI was quite popular at that time in department stores, and the staff did their best to make it interesting for potential customers. We got the computer plus the language course "Compact English" from ILS Wiesbaden (audio cassettes, a textbook, and a cartridge with data cassettes). Maybe this was one of the incentives of my father to buy it; he was working at Pan Am in Frankfurt and could have thought about improving his English, but also to provide me with such a course for support my progress in school. We got the TI-99/4A in June 1982, just in time for the summer vacation, when I learned to program in TI BASIC, but in September 1982 we already got the Extended Basic module. The first game I got was TI Invaders on Christmas 1982. It was always me working with the TI console. My father kept searching for his life (until last year January) for the optimal computer that really simplified your everyday life, with all important functions at a single keypress. We went for different ways from the moment back in 1982 when I tried to explain to him that cleaning the screen is done with CALL CLEAR, not with FCTN=, anykey, 1. He changed to the Commodore path which led us ultimately to the Amiga 2000, while I got a Geneve in 1990.
-
I remember me and my friends played it for whole afternoons after school.
-
Hard to find something exciting about the "shortest day" yesterday, but here are some facts I found interesting: - The day is called winter solstice in English, from Latin sistere = sit/stand, stitium as its noun, prefixed by sol = sun. Sistere (with past part. statum) was quite productive, consider "consist" (sit/stand together), "persist" (stay sitting), "resist" (keep standing against some force, stand back), "exist" (from ex-sist, "stand out"), "static" (sitting), "state" (what is sitting). - In German we say "Wintersonnenwende", which translates as "winter sun turn-around". The Latin term is merely known to astronomers, if at all. (The same holds for "equinox", which we call "Tagundnachtgleiche", "day and night equality", where "equinox" is known to astronomers plus fans of J.M. Jarre.) The lack of Latin terms in German makes it arguably difficult to learn its vocabulary for foreign language learners. - Most people believe that on winter solstice, the sun rises at the latest and sets at the earliest. This is only true if you measure time by sundials. Actually, according to our clocks, the sun begins to set later at Dec 10 already, while it takes until Jan 4 before it rises earlier again. The difference between sunrise and sunset is smallest at winter solstice, however. This is reflected in the "time equation", which states that our 24h clock deviates from the actual time by up to ±15 min due to the elliptical course of the Earth around the sun. By the way, as for temperature, we had 14°C today (57°F), definitely too warm, although the time around Christmas is known to bring us warm weather. I saw that New York and other areas of the US already had heavy snow, which shows a paradox that the climate change brings us rising temperatures in Europe throughout the year, while in the US you seem to get harder winters.
-
You can also set up a timer with the 9901 (timer mode).
-
The TMS9900 has no interrupt queue. Interrupts are level-driven, not edge-driven. When there is a VDP interrupt, the VDP raises the interrupt line, this passes through the 9901 and then to the INTREQ input of the 9900. The VDPINT stays asserted until you read the video status register. This is normally done in the interrupt handler in ROM. So if you mask away the interrupts with LIMI 0, and an interrupt occurs, nothing happens until you do a LIMI 2, in which case the still pending interrupt is sensed. However, if during the LIMI 0 phase the video status register is read, the interrupt is gone. The 9995 is a bit different in that respect, as it latches incoming interrupts in the internal CRU space.
