Jump to content

jbourke

Members
  • Posts

    11
  • Joined

  • Last visited

jbourke's Achievements

Space Invader

Space Invader (2/9)

1

Reputation

  1. They are green but yes they look like 1W resistors ?
  2. http://spectrum.ieee.org/geek-life/history/the-inside-story-of-texas-instruments-biggest-blunder-the-tms9900-microprocessor Quite harsh and undeserved I think :-) Cheers, John
  3. Thanks Lee and others for the clarification, much appreciated. I do think though that if only checking for 2 possible RAM sizes the loop seems unnecessary and the code could be shorter still. But then as RBX indicated it might be called from other GPL locations for slightly different purposes.
  4. I think if you replace "CZ V@>0000" at >BF with "CZ V*>8370" the routine seems to work as intended: establish 4K, 8K or the max of 16K VDP RAM. Speculation: the >0000 could have been a typo and since all consoles were 16K anyway (no 4K and/or 8K models planned as far as I know?) testing didn't pick this up.
  5. See my reply to RBX for the use of >8370 and >8371 within the GPL interpreter. And yes you are so right, 1 time it's all nice and tabled and indexed and the next it just picks a random location that happens to have the right value :-)
  6. >8371 would not be unknown but set to >00 as previous code in the power-up/reset code clears most of scratch pad. >8370 and >8371 contain the VDP address for read/write in GPL so you can see the code above neatly checks for >1000, >2000 and >4000 for top of VDP RAM. In any other cases I have seen/used myself it's a matter of writing a bit pattern, reading it back and comparing to see RAM is present. My conclusion so far is that this code works by accident :-)
  7. Hi all, I am looking at the following GPL code snippet in GROM 0 as part of power-up/reset (re-produced from TI-intern): 00B5 : CLR VDP@>0000 Check VDP RAM 00B8 : ST @>8370,>10 00BB : ST VDP*>8370,>A0 00BF : CZ VDP@>0000 00C2 : BR GROM@>00D9 00C4 : MOVE >0001 TO REG>01 FROM GROM@>044C 00CA : CLR VDP*>8370 00CD : ADD @>8370,@>8370 4, 8 or 16K? 00D0 : CEQ @>8370,>40 00D3 : BR GROM@>00BB 00D5 : ST @>83FD,>08 System flags (16k flag) 00D9 : DDEC @>8370 Pointer end VDP RAM 00DB : MOVE >0001 TO REG>01 FROM GROM@>0241 00E1 : CLR VDP@>0000 It's meant to check and set the amount of VDP RAM. But shouldn't the check at >00BF be "CZ VDP@*>8370" to see if the value written initially (>A0) is read back and thus RAM is present? The loop just seems to run until >8370 contains >4000 (16K RAM) while needlessly checking VDP RAM >0000. Also I don't get the statement at >00DB which seems to write a value to VDP REG1 from a rather random GROM address, compared to the code at >00C4 which does it properly. I am probably missing a thing or 2 :-) Thanks! John
  8. Thanks RXB, source code is_big_ help. Haven't found the culprit yet but I am seeing some vague signs pointing towards the CRU. Cheers, John
  9. Would you have any more info on the CRU interface differences? Some commands do work (NEW, NUM, RES, LIST, BYE) and I can type in/list basic programs without any problems. I am comparing the scratchpad with Classic99 and V9T9 but haven't found any substantial differences so far. It would be nice to know where XB keeps the "BREAK" flag as this must be a different location to TI Basic. Cheers, John
  10. Thanks for the helpful replies. I am pretty sure I have got the GROM interface covered as I have been unable to fault TI Basic with whatever I have thrown at it so far. The thing I read about XB bank switching (thanks BTW Thierry for your excellent site) is that apparently the whole 8K is switched instead of the upper 4K. But as the lower 4K is the same in both banks switching 8 or 4K shouldn't make a difference. Anyway I have tried both methods :-) It would be great to have a TI intern for XB, got so much info from Heiner Martin's book; fantastic effort. I will definitely look into the Cyc DVD, great tip. Cheers, John
  11. Hi all, I have been working on a TI/99-4A emulator for a while and got the basic console working (sans sound). The next step is loading and using cartridges, I have got several working now. One that doesn't cooperate is TI Extended Basic, every input provides a "* BREAKPOINT" message. Would there be more in-depth / technical information available about EB? Things like scratchpad usage, flag bits, differences with TI Basic, disassembly of GROM and ROM etc? Thanks! John
×
×
  • Create New...