+FarmerPotato Posted September 26, 2022 Share Posted September 26, 2022 This is pure theory. I I though about it during my commute. Suppose you used the segmented code/data memory model of the 99000. Program segment (PSEG) is in distinct address space from Data segment. Loaded into different blocks of RAM. Which are selected by the BST bus status codes telling whether the 99000 is fetching code or data. I’m stuck thinking through how a branch table would appear. Am I right that this model breaks code like: PSEG * directive: program segment DSRLNK DATA DSRWS,DSR0 DSR0 MOV *R14+,R1 BIND JMPTBL,R1 JMPTBL DATA 0,0,0,0,DSR8,DSR10 START LWPI MYWS BLWP @DSRLNK DATA 8 DSEG * directive: data segment BSS DSRWS BSS MYWS END Does BLWP fetch vector with BST = IAQ? Does DSRLNK vector belong in program or data segment? *R14 would access data space, uhoh, not seeing the DATA 8 Dunno how JMPTBL is linked/loaded Is the Tagged Object Loader, as we know it, capable of resolving the JMPTBL addresses? (Supposing it had been loading a PSEG and DSEG into separate pages in this model.) should JMPTBL be in program or data segment? Does BIND access JMPTBL as a IOP (immediate operands) or general memory? (Wrong segment!) On the other hand, Should JMPTBL be in program, or data segment using REF/DEF? (Is this a use case for SREF?) Do like this instead of BIND? (Branch indirect) MOV *R14+,R1 MOV @JMPTBL(R1),R2 B *R2 And put JMPTBL in the data segment? Thoroughly confused. Again, this is all theoretical, I’m not going to implement this. 1 Quote Link to comment Share on other sites More sharing options...
jbdigriz Posted October 1, 2022 Share Posted October 1, 2022 (edited) Probably less confusing to think of functional segmentation as "split I/D" as the DEC folks do. I'm still digging into the manuals on your BIND question. Edited October 1, 2022 by jbdigriz 1 Quote Link to comment Share on other sites More sharing options...
jbdigriz Posted October 1, 2022 Share Posted October 1, 2022 (edited) I'm thinking the instruction execution sequence tables in https://bitsavers.org/pdf/ti/TMS9900/MP009_99105A_99110A_Nov82.pdf* will be of use to you here. Table 19 sections on pages 81 and 82 show the branch instruction sequences and bus status codes you're concerned with. * also here: http://ftp.whtech.com/datasheets and manuals/Datasheets - TI/MP009_99105A_99110A_Nov82.pdf Edited October 1, 2022 by jbdigriz 2 Quote Link to comment Share on other sites More sharing options...
+dhe Posted October 2, 2022 Share Posted October 2, 2022 fwiw - the first link doesn't work for me. I don't see a TMS9900 directory below /pdf/ti. Quote Link to comment Share on other sites More sharing options...
jbdigriz Posted October 2, 2022 Share Posted October 2, 2022 (edited) Ah, well, yes, there was some rearranging a while back and the dir was moved. I was working from an old scratch copy. Sorry. The file appears to have been lost in the shuffle somehow, but it's on archive.org, or the preliminary datasheet is at http://www.bitsavers.org/components/ti/TMS9900/TMS99105A_and_TMS99110A_16-Bit_Microprocessors_Preliminary_Data_Manual_Nov82.pdf Same info, same pages. Maybe just another scan of the same doc. The instruction tables in the 990 assembly manual are helpful as well: http://www.bitsavers.org/pdf/ti/990/assembler/2270509-9701A_AsmRef_Nov82.pdf Edited October 2, 2022 by jbdigriz 2 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted October 2, 2022 Share Posted October 2, 2022 The copy of MP009 on WHT is accessible as well. 2 Quote Link to comment Share on other sites More sharing options...
jbdigriz Posted October 2, 2022 Share Posted October 2, 2022 Yep. Stuart has it on his site also: http://www.stuartconner.me.uk/tms99110_breadboard/downloads/mp009_99105a_99110a_nov82.pdf 1 Quote Link to comment Share on other sites More sharing options...
+FarmerPotato Posted October 2, 2022 Author Share Posted October 2, 2022 Bitsavers has Computing and Components. A chip databook goes into Components/ti Though the TM990 books are over in components… all the 99xx chip data books here: http://www.bitsavers.org/components/ti/TMS9900/ 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.