Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


mizapf last won the day on August 31 2016

mizapf had the most liked content!

Community Reputation

3,620 Excellent


About mizapf

  • Rank
    River Patroller
  • Birthday 09/24/1969

Profile Information

  • Gender
  • Location
  • Interests
    MAME, TIImageTool, Ninerpedia
    Linux advocate (openSUSE/KDE)

Recent Profile Visitors

17,359 profile views
  1. Shrug ... I don't remember how it got on my drive.
  2. As I mentioned some time ago, I'm re-playing the Infocom adventures now (after solving all of the Scott Adams series). The parser is still fascinating. >drop all except sword, staff, and book cloak: Dropped. hood: Dropped. ring: Dropped. vial: Dropped. torch: Dropped. strange key: Dropped. golden amulet: Dropped. >go north and read the book North Corridor Your sword is glowing with a faint blue glow. The book seems to will itself open to a specific page. On it is a picture of eight small rooms located around a great circle of flame. All are identical save one, which has a bronze door leading to a magnificent room bathed in golden light. A legend beneath the picture says only "The Dungeon and Treasury of Zork." >drop it and go south Dropped. Prison Cell Your sword is no longer glowing.
  3. Here is my analysis of the HX5102 ROM that I did when writing the HX5102 emulation; could be helpful to compare with the PHP1300. hx5102.tis
  4. Here are the schematics of the HX5102, where I got the PAL equations from. Hex-BusMiniFloppy.pdf
  5. Obviously; there is no documentation about a switch. For the TI-99/8 they actually used a special 9995 (MP9537) with deactivated internal RAM; it would have sufficed to turn off the RAM if it still had the switch.
  6. This reminds me very well of the behaviour of IBM in the nineties, whose OS division promoted OS/2 (which I actually favored over Windows 95, OS/2 was really cool), while the PC/Laptop division sold computers with pre-installed Windows.
  7. V1 = A0 & A1 (A0=MSB) 11.. .... .... .... V2 = A4* & A5 & A6 & A7 & A8 & A9 & A10 .... 0111 111. .... PAL equations ROM1 = MEM & V1* & A2* & WE* = 0000..1FFF, 4000..5FFF, 8000..9FFF ROM2 = MEM & V1* & A2 & WE* = 2000..3FFF, 6000..7FFF, A000..BFFF RAM = MEM & V1 & A2 & A3* = E000..EFFF DCS = MEM & V1 & A2 & A3 & A15* & V2 & A11* & A14* = F7E0,F7E4,F7E8,F7EC HCS = MEM & V1 & A2 & A3 & A15* & V2 & A11 & A13* = F7F0,F7F2,F7F8,F7FA DACK = MEM & V1 & A2 & A3 & A15* & V2 & A11* & A13* & A14 = F7E2,F7EA AZ = MEM & V1 & A2 & A3 & A15* & V2 & A11* & A12* & A13* & A14* = F7E0 CRU = MEM* & V1* & A2* & A3 & V2 = 17E0..17FE RD = MEM & V1 & A2 & A3 & A15* & V2 & A12* & DBIN = F7E0,F7E2,F7E4,F7E6,F7F0,F7F2,F7F4,F7F6 | MEM & V1 & A2 & A3* & DBIN = E000-EFFF WR = MEM & V1 & A2 & A3 & A15* & V2 & A12 & A13* & WE = F7E8,F7EA,F7F8,F7FA | MEM & V1 & A2 & A3* & WE = E000-EFFF
  8. As our machine language programs have direct hardware control, the VRAM address auto-increment should be used, of course. I sometimes wonder how things would like like when we had a full multitasking operating system (maybe for the Geneve 2020?). It would be reasonable to block all direct access to hardware, only offering a system call interface (which would be our XOPs). In that case, we would need lots of simple routines in the kernel, like filling VRAM space. (I just had a short look at the TMS99000 manual; interestingly, there is no restriction on memory access in the user mode, so any memory-mapped device would be directly accessible. But at least some CRU address ranges are restricted to kernel mode, and a memory-mapped device could then be guarded by a CRU bit.)
  9. When coding for the TI console, I kept some assembly samples and reused them where possible, e.g. an INPUT routine: Give a position, wait for input, return pointer to the string. I kept the habit to use own workspaces for these routines (as I said some time ago, I am a big fan of BLWP) which makes reuse simpler. One of the generic routines I wrote for the Geneve native mode is a command line parser which delivers the /arguments with their values. While doing tests on the Geneve concerning wait state counting and video speed measurements, I reused one program and changed some parts of it each time.
  10. I found the problem. I used the wrong variable (word address instead of byte address), so the write operations in the debugger were sent to address/2. It is a quite old bug indeed, introduced by me at end of April 2016, MAME release 0.173. (Mind that we are 50 (!) releases later today.) Actually, the issue only occurs for the TI-99/4A console, not for the Geneve or other systems.
  11. The debugger has not changed over the years. You can view paged memory, but only in the way it would be done during runtime. That is, you must set the respective CRU bits; this is possible in the Memory view window (CTRL-M). However, for such kinds of debugging I recommend patching the source code. P.S.: I just noticed that the debugger does not allow setting values; this is obviously a problem I have to check.
  12. But the SAVE utility uses REFs for SFIRST, SLOAD, SLAST, so I'd expect you have to DEF them. (Ah, this is possibly ambiguous ... you say you don't need another DEF for your program.)
  13. The MEXP-1 offers RAM at 2000-3FFF and A000-FFFF by 4 (128K) and 16 (512K) banks. The banks are set by 2 or 4 CRU bits. It also has a DSR at 4000-5FFF which implements a print spooler and a RAM disk. Try it with ./mame64 ti99_4ae -ioport peb -ioport:peb:slot2 myarcmem -ioport:peb:slot8 ddcc1 -cart myxbii -flop1 xbii212.dsk You need a program disk for booting; this is Myarc Basic V2.12. I have to check whether we have it on WHTech.
  • Create New...