Jump to content

FarmerPotato

+AtariAge Subscriber
  • Content Count

    1,465
  • Joined

  • Last visited

Posts posted by FarmerPotato


  1. 53 minutes ago, jrhodes said:

    Is there a list of software (games or otherwise) that needs 2 floppy disks?

    Please note, i am not talking about software designed for 2 (or more) floppy drives, like i.e. a disk copier that copies from DSK1. to DSK2.

    No, i mean software that is spread out over multiple disks.

    Like the game "Who's Behind The Mexican UFO's?", which is on two floppy disks, you actually need to change disks at one point in the game to continue.

    In fact, that is the only example i can come up with...

    Multi-disk software just wasn't done on the TI very much, huh?

    All the InfoCom games. The interpreter and first game file were loaded into memory from disk 1. The bigger, random access game file was on disk 2.

     

    • Like 2

  2. 14 hours ago, Kchula-Rrit said:

    Pay-Dirt!  I found the singles on Digi-Key.  Found these, then picked "mates with":

     

    If you want to order some for your own projects, their part numbers are:

     

    Single connector (the one on the left) is A25958CT-ND.

    Here's a link:https://www.digikey.com/product-detail/en/te-connectivity-amp-connectors/102917-5/A25958CT-ND/456261

     

    Housing for single connector (the one on the right) is A26962-ND.

    Here's a link:https://www.digikey.com/product-detail/en/te-connectivity-amp-connectors/7-87499-2/A26962-ND/275907

     

    They also have these jumper wires from Bud Industrieshttps://www.digikey.com/product-detail/en/bud-industries/BC-32672/377-2264-ND/5291566 that look like they could be used for prototype boards as well.

     

    Like others said, you can get Dupont cables by the 100 for cheap, just to go eBay. Common things, like jumper wires, are expensive to buy from Mouser or Digikey. 

    I still enjoy searching Mouser, looking for what things are called (maybe a little).

     

    For a picture of the "motherboard" header where multiple wires are crimped into one connector,

    Go to DirtyCables and play with the GUI. Choose CRHO 2.54" crimp housing. 

     

    Here is an article about all the connector types they found. These are common today, not necessarily the ones used in the 80s.

    http://dangerousprototypes.com/blog/2017/06/22/dirty-cables-whats-in-that-pile/

     

     

    • Like 1

  3. IDC is the punch -through ribbon cable Connector. It “Displaces” the Insulation.  
     

    at DirtyPcbs.com there is the DirtyCables service. You can use the GUI to choose any connectors and wires from common types.
     

    For $10 I got their Connector sample kit to play with. It has about two dozen parts and variations. It helped me make sense out of “Molex” connectors (a brand name, not one connector!) 

     

     

     

    • Like 2

  4. 13 hours ago, Kchula-Rrit said:

    I've been mulling this idea for a while to power a TI.

     

    I have several 19V power bricks, including some 12V car adapters, from deceased laptops.  If I could set a ground at +6V relative to the negative lead, I could use a LM7905 to generate the -5V.  The +6V "ground" would give me 13V to feed a LM7812 to give me +12V, and a LM7805, maybe through a dropping resistor, to get +5V.  A diode bridge would drop the voltage, hopefully without generating so much heat.

     

    Do power bricks have floating outputs?

     

    K-R.

    Take a look at TI’s line of LDO voltage regulators. They come in a wide variety of capacities and features like low ripple. 
     

    Use an op amp in inverting configuration. This gives you a virtual ground and Vout = -Vin 

    • Like 1

  5. Further thoughts on the 99/8 Mapper:


    Having a base address, to which the logical 12 bits are added.. How useful would that have been? You get byte-level precision. You could map in data records from any size boundary. It would facilitate memory-moves between any two physical addresses.

     

    These things could be done with 8K address resolution, too.

     

    They would require re-loading the map registers an extra time for moves that cross 8K boundaries. The lower 12 bits would go around the Mapper, without translation. Mapper registers would use just 15 bits. There would be no multiplexing of the 32-bit address into 16-bit chunks to save pins (why are there not enough pins on the 64-pin mapper?) And it would reduce memory access time from 3 to 2 cycles. Context switching would be twice as fast (map registers only take up 32 bytes, not 64.)

     

    But maybe it's necessary to have base addresses, to manage limited memory.

     

    Since they envisioned 64K DRAM, it's still precious.

     

    Say you need to pack 25000 bytes of object code and a 256-byte stack into RAM, on top of 2000 bytes of E/A utilities already in RAM. You map the utilities at >2000, the program at >A000, and the stack to land at >FE00->FF00, without wasting full 8K pages on odd-sized things. You have to be careful to set first/last free addresses in high/low RAM to the exact boundaries. 

     

    With 1MB of RAM to play with, it would not be such a concern.
     

     


  6. 10 hours ago, retroclouds said:

    For reference I have added the TI-99/8 mapper specification and how Texas Instruments envisioned usage back in the days.

     

    The "Mapper and us" document has some example code. It's an interesting read, as after all the TMS9995 in the 99/8 is a 16 bit CPU dealing with a physical address space beyond 64K.

     

    TI-99_8 Mapper Specifications 03-23-1983.pdf 698.69 kB · 3 downloads

    TI-99_8 The Mapper And Us 05-26-1982.pdf 481.65 kB · 4 downloads

     

     

    Thank you, Philip, for posting these 99/8 documents--I had not read them before.

     

    My summary and thoughts:

     

    • 32-bit mapper registers: 3 control bits, 5 zeros, 24-bit base address.
    • Logical Address space: 64K, upper 4 bits selects a Mapper register.
    • Physical Address Space: 24 bit address for 16MB (same as LS612)
    • Mapper address is ADDED to the logical address lower 12 bits, for byte resolution. 
    • 16 registers on Mapper chip, 16 64-byte maps on logical side, at >8000 to >83FF.
    • Load/Save Map operations puts the CPU on HOLD while 64 bytes are transferred to/from Mapper and one of the maps in SRAM.
    • For each map register, special bits are Write Protect, Execute Protect, Read protect.
    • To save pins, the Mapper outputs the resulting Physical Address in two 16-bit writes (presumably to a latch  on the physical memory side.)
    • Three clock cycles are used to access a byte in physical memory, the same as expansion 32K to the 4A.

     

    Thoughts

     

    •  The Read (data) Protect bit allows private code areas. For any of the protect bits, I don't see they limit access, in any way, from another page register pointing to the same physical address, but without protect bits set.
    • Changing one map register is a costly operation. It must transfer all 16 registers, in least 64 clock cycles. You might as well page 32K at a time.
    • Subroutines that change maps, must cooperate in using the 16 maps and not clobber each other. To do this effectively, they need to treat the map SRAM as a stack 16 deep, on which maps are saved and preserved.
    • Compare the 8086, which has 16-bit addresses, and 16-bit segment registers. It shifts the segment register 4 bits left and adds.  This results in 16-byte boundaries and 20-bit address bus (1 MB reach). It fits in the same 40-pin package as the 9995 or 99105, with no external memory mapper required.
    • "The Mapper And Us" (I guess) by Mike L. Bunyard, is unusual for its informal tone.

     

     

    • Like 1

  7. All my ideas here are, first of all, backwards compatible with SAMS software.

     

    Like ksarul pointed out, the LS612 has another 4 bits in each page register.

     

    Now to use all 12 bits of the 612 on the 4A... you would have to have a shadow register to put the upper bits back in, during a write to the usual 8 bits. They don't come out the outputs during the read, otherwise they could be looped back (crazy.) So... you could add another 612 for that shadow register!  

     

    I looked for register file RAM, but probably 2  8K RAMs and glue logic could be used to recreate the 612, this time with a full 16 bit register width.

     

    Programs that are already written, would use only 8 bits, and see up to 1MB.  The upper bits could be set at new addresses. 4000 to 401E are the current 8 bits, 4020 to 403E could be the other 8 bits.

     

    What to do with the upper bits? I came up with some ideas:

     

    1. Program switching. A base 1MB address for each program. The use would run a utility, in, say, Force Command. The utility would set the other 8 bits to the "base address" to bring in a different 1MB slice. The user presses  the LOAD interrupt to exit. That first disable memory mapping, then drops back to original RAM and a LOAD interrupt routine. Said routine would clear the base address, go back to the command prompt, and let you switch programs. It would have to save all the VDP too, and do other complicated things to avoid crashes.  (And this assumes a sidecar: the LOAD interrupt doesn't reach Pbox cards.)

     

    2. Alternately, a program could access pages from the full memory by setting the 16-bit page registers itself. 

     

    3. Access violation. Upper bits for Page Read Only (PRO), Data-Only-No-Execute (NOX).

     

    If a program tries to write to a page marked PRO, it gets a LOAD interrupt which drops back to the launcher.

     

    If a program tries to execute code from a page marked NOX, it gets a LOAD interrupt... this requires the IAQ* signal, which is active when the CPU is getting the next instruction.

     

    4. Illegal instructions - these could be detected by the memory card during IAQ, and cause a LOAD interrupt, to drop out of the program. Alternately, they could be defined to manipulate page registers, or cause a LOAD interrupt to exit the program. (One TI-990 implemented LMF as an external instruction that changes the memory map.) I'm not sure what bad things happen on the 9900 if you run an illegal instruction (can you implement something like LMF, LDS, LDD externally?)


    * IAQ and LOAD are only available on the side port, not the P-Box.

     

     

    • Like 3

  8. This is a problem that has been solved in many ways for Linux/Unix.

     

    There is the tarball. A compressed tar unzips to a folder, which hopefully contains a configure/install script or makefile, typically autogenerated. The script moves files where they need to be. Tarballs have been around since the 80s.

     

    Raspbian (what you have on TiPi) uses APT. Apt is a full-featured package manager with versioning and dependencies. For instance, if your package is xdt99 (Ralph Benziger) then you need a certain version of Python and maybe some Python module that Ralph is using. A package file declares this dependency, so "apt-get install xdt99" goes on the internet and does the dependency package(s) first.

     

    If whtech contained some apt packages for TIPI programs, then you would list its URL as a "repo" and any request that APT makes would check there.

     

    Someone would have to maintain the repo, and get permission from individual authors to make a package. But it would be one author, one package, plus a list of dependencies.

     

    Multiple versions of the same thing can co-exist, with a link pointing to the latest. You can get source or binary packages separately if you like, and compile+install from source. The source package declares what compiler and libraries you need, too. Docs can ship separately too, or be combined.

     

    I might be wrong on some details. A package manager evolved to solve all the problems that come up with integrating packages into a useful multi-author platform. And everybody with a TIPI already has APT on the command line.

     

    • Like 1

  9. On 7/9/2020 at 6:29 PM, arcadeshopper said:

    Picked this up562cf6aca7de6e4b47d1895234bdaeb2.jpgb7e914105f35e3803393f48c8596b395.jpg

    Sent from my LM-V600 using Tapatalk
     

     

    Nice find!

     

    I learned a lot of application software on one of those - PeachTree Accounting, PeachText, Lotus 1-2-3, I forget what others.  Like some other PC makers (Kaypro...) the DOS was licensed from MS, with other software houses hired to port their applications.

     

     

    I carried TIPC disks-at least the DOS- around for decades - dunno what finally happened to those.

     

    It wasn't TI's last DOS machine.  The TI Travelmate series of fully-compatible PC laptops lasted into the 90s, when it sold to Toshiba.  I played a lot of Ultima 5 on a TI Travelmate, and other DOS games.  Also in the 90s, TI manufactured CPUS for Cyrix and branded them under the TI name as well. See  https://cpumuseum.jimdofree.com/museum/texas-instruments/80486-d-slc/

     

     

    • Like 1

  10. 24 minutes ago, Ksarul said:

    Here you go, not too pricey either. I think I may even have bought from this seller once or twice. . .

    Thank you, that is the real deal! I can do 18 cents. (Sullins direct wants 50 cents, SamTec wants 66 cents for surface mount, somebody else at 1.24)

     

     

    Can I just toss my shopping list at you?

     

    I have all the shrouded headers I could want, but now I need short IDC ribbon cables. DirtyCables prices a 10cm IDC cable at around $2.25 in qty 100 (the # of pins doesn't change it much.)

     

    The Dupont kind I am also looking for.. here's one for $2 https://www.ebay.com/itm/Single-Double-Row-DuPont-2-54mm-Rainbow-Cable-Ribbon-Jumper-Wire-Female-Female/264011141771?var=563541948281 The 2x4 could be called "HexBus" replacements.

     

     


  11. On 7/4/2020 at 4:42 PM, arcadeshopper said:


    as far as using a serial mouse with ti there's a driver I seriously doubt it works with the Nano but it's always worth a try. It may have to be patched to enable the port

     

    What was that issue with port enabling? Does the NanoPeb port respond at >1340 only if >1300 is set? And the TI card is the other way? Or have I got them the wrong way round?

     


  12. On 7/5/2020 at 9:45 PM, OLD CS1 said:

    More nanoPEB v1 (9902 UART) up.

     

    Anyone have a direct line to schmutzig?  I emailed him a few months ago about a replacement IDE angle connector and never heard from him.  Alternatively, does anyone have any such things or know a good source?

     

    Also, this guy has a bunch of white label Scott Foresman carts.

    Like Weird_w  says, it really is just the generic snap apart pin row.

     

    I'm getting a lot of my connector thingys from Phoenix Enterprises. Here is there R/A page:

     

    https://www.peconnectors.com/headers-breakaway-r/a-.100/

     

    It's where I found the Dual 30-pin SIMM Angle socket... and I've been finding  plenty of other ways to give them my business.

     

    If you want the IDE shrouded part you may have imagined, look here:

    https://www.peconnectors.com/box-headers-pcb-.100-r/a/

     

    The part that I can't find reasonably, is the R/A female header 2x6 (rare) or just 2x8 (pricey here)

    https://www.peconnectors.com/female-headers-pcb-2x-row-.100/hws11162/

    I've even looked in China. Despite the 2x6 appearing in large quantity on everything I've got... I cannot find a source that has 2x6.

    https://www.pololu.com/ hasn't got any either.   I got a lot of Samtec 2x15 on clearance, and I'm sawing those into 2x6 hunks.

     

     


  13. On 7/2/2020 at 7:21 AM, mizapf said:

    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.

    Goldangit. 
     

    my first attempt to build a 9995 Computer, I pulled the CPU from the 99/8. I used F000 as the workspace.  I thought I fried the chip cuz not even the simplest code worked. Later I got it back in the 99/8 and it was ok...

     

    I took a chip out of an SBC built by Mike Read (bar code reader) and started to get somewhere. 


  14. On 7/1/2020 at 12:27 PM, hloberg said:

    @FarmerPotato I 'think' said he had a 99/8 at one time. he still has a 99/2.

    Since 1989, when I left for college, (Compuserve TI forum sysop) Jerry Coffey has the 99/8 I got, and a disk drive that I don't recall ever working.

     

    I did write some basic programs for random walk fractals, since it has bitmap mode commands. But not much else, because no working storage.

     

     

    Jerry also bought a end-of-life Myarc WDS1 that served me a lot from 1985-1988.  (the drive developed a bad starter relay, that was all. )

     

    Alas, nobody bought the PDP-11/10, and my parents made it go to the scrapyard. I wish I could redo time and keep this stuff.

     

    The 99/2 was too small to worry about, and lived in a box of books, for years. Until I rediscovered it.

     

    Craziest thing all at once: in 85, with no modem except the one for the CC-40, I used a 4 line CC-40 Basic program to bridge the modem to the hexbus rs232 to the 4A. PC Pursuit had free weekends. I was able to download the c99 package by xmodem over that connection, to the 4A, and save it on the WDS1. 

     

     

    • Like 4

  15. Following along with great interest.

     

    I thought I'd share some of the SN76489 music I've bookmarked:


    This is some really good PSG music (SN76489)
    https://tomy.bandcamp.com/album/psg-series-1
    from https://www.smspower.org/forums/14380-TomysPSGSeriesSN76489Music

     

    Especially "Assembled in 1987"

     

    Good attacks on Cotton Candy

     

    Glazed Eyes is not too monotonous

     

    On Tomy's PSG 5, The Outsider has an interesting low-frequency beat. It sounds like sequential periodic and white noises, with attack using white noise, then periodic noise in the decay.  Sometimes it's  periodic noises with a jump in frequency.

    https://tomy.bandcamp.com/track/the-outsider-2
     

    Tomy records from a Sega Master System.

     

     

    • Thanks 1

  16. This is amazing, Rasmus!

     

    I was stuck trying to figure out what kind of maze would help my Katamari demo be a game. If I were going to back to

    that, instead of just scrolling 2d bitmap, I would like to do something like this.  There would be a lot of sprites for the

    things you run over (the object of the game is for Munch Man to roll over all the sprites and get bigger.)

     

    Will you be sharing the source when you are done?


  17. I noticed the total posts in Development.  It's 65336. My optical cortex is trained from childhood to find 65536, and other powers of two, on the screen. (I used to be afraid of the number 32767 because it meant TI BASIC was about to crash. Or a RESEQUENCE had found a GOTO with a non-existent line number. Harmless.)

     

    Anyhow, AtariAge will probably not roll over the post count to 0. It's not running on a 6502.

     

    But the person to write post >10000 gets a special prize.  No cheating!

     

    • Like 1
    • Thanks 1

  18. 14 hours ago, TheBF said:

    This would be pretty a good trick. :)

    Typically you would need 16 levels for each stack so there goes 64 bytes!

    You could limit that in the way you write programs. Might be able to use registers as a short data stack. (?)

     

    It begs the question of what threading mechanism you would use. The smallest code to run is native code because the CPU does all the interpretation. So you could just pass addresses from VDP of code snippets that load to scratchpad, run and reload the VDP reader.

     

    You might be able to use byte code that feeds native code snippets to the scratchpad for each byte code and then reloads the byte code interpreter... my head starts swimming.

    It is fascinating. My only idea was that a list of tokens referred to dictionary addresses in VDP. Like your idea.

     

    I look forward to your working out how to use the tiny memory :) Surely there has been a teeny tiny FORTH in all its history?

     

    Just kidding, you are under no obligation to solve such an interesting exercise!

     


  19. Online order replaces what we put into the spreadsheet? I placed my order online.

     

    Also I was not sure what this meant:

    >I am opening up the PRE-ORDER effective immediately.  The preorder will last through June 25, 2020.  No new pre-orders will be offered for this round.

     

    Does 'No new pre-orders' mean nobody but  those who pre-pre-ordered on the spreadsheet, or can anyone join, thru Jun 25?

     


  20. 2 hours ago, Vorticon said:

    No book purges here (Blasphemy!). As a matter of fact, I have found that programming books written in the 80's and early 90's were of much better quality than most of the trash I find today. As a matter of fact, I have completely stopped purchasing programming-related books online, particularly Amazon, because I cannot really browse the book and judge its content. I only go to brick and mortar book stores for this.

    I'm with you on that. I just had too many 3D books, most of them picked up 50% off at The Strand (where all the review copies went to find new homes).

    Maybe I didn't judge the quality of that one correctly.

     

     

    Don't worry, I still have an enormous number of books.

     

     

    • Haha 2

  21. 4 hours ago, Stuart said:

    Have you seen eBay item 143265206181 - $4.40 for two 'LS612s. Same as the LS610 but without latched outputs I believe - may work for you.

    Yeah, 612 would be fine. I would not use the latch. (or is it the 612)

     

    I think that's 4.40 each chip.

     

    Four of the DIP40 would take up a lot of space. The F package would be nicer. 

     

    Actually Rochester has them new, min qty 51 at $5

    https://www.rocelec.com/search?q=74ls612

     

    But... it's likely I would move up to reproducing it with, at least, an ATF1504 at $4. But with the lower Atmel parts, I found the WinCUPL tool compile/run test vectors  to be  a miserable process. Still, these are not too overpowered.

     

     

×
×
  • Create New...