Jump to content

FarmerPotato

+AtariAge Subscriber
  • Content Count

    1,464
  • Joined

  • Last visited

Posts posted by FarmerPotato


  1. Well, al least it's not just me then :).

    I should also point out that using ints instead of chars does yield the correct result, even with volatile variables.

    I wonder if the uint8 is not promoted to int before being placed on the stack?

     

    Try

    cprintf("%c * %c = %c\n\n", ('0'+a), ('0'+b), ('0'+result));


  2. Terminal Emulator 2 could read the screen, as could many other terminals that came later. I don't know if there was any protocol convention for side-band speech though (that is, not reading the screen but speaking independently...). The TE2 protocol had a lot in there, though, was speech? :)

    Yes, speech was in there.

     

    The TE2 protocol manual http://atariage.com/forums/topic/262121-te2-manual/

     

    http://www.whtech.com/ftp/datasheets%20and%20manuals/TE_protocol_manual.pdf

     

    The command opcodes for speech:

     

    >26 Speak and display text
    >27 Speak text without display
    >28 Speak Allophones (refer to TE2 manual)
    >29 Look up words (and associate with a number)
    >2A Speak words associated with numbers
    Text must be from the Speech ROM, or an allophone string (not sure if this means plain text, or preprocessed into allophone numbers by Text-to-Speech utility). I don't think there is a routine to play back LPC data (like from SPGET.)
    • Like 2

  3. Interesting to see that if you are not familiar with the unit, it is difficult to imagine what it means. I could not say what 26 lbs means even though I know the factor, but I have an immediate idea what 11.8 kg is. :-)

     

    For a time in high school, I lugged my PBox and Geneve on the school bus (which stopped one block from my house).

     

    There was a composite color monitor I could plug into in my math classroom, thankfully.

     

    I would not lug a PBox again.

    • Like 3

  4. I didn't understand how this DSRLNK from MG Smart Programmer works either, the things it does!

     

    For starters, DSRWS = DLINK1. That's seriously weird. However, it ends up saving a chunk of memory.

    DSRLNK DATA DSRWS,DLINK1

    Registers overlap with the code! There are DATA 0 statements overlapping R12-R15; R12 is the only free register here (R13-R15 store the caller's context.)

     

    R3 overlaps the argument to the LWPI GPLWS instruction.

    I smell self-modifying code! Indeed, later on MOV @NAMLEN,R3 modifies the argument of LWPI GPLWS. However, that instruction is never executed again.

    It's a good thing, because the argument is set not to a CPU address, but the VDP address of the PAB opcode. That would be meaningless in a LWPI instruction.

     

    I found a commented version here, on page 290: http://ti99ers.org/downloads.php?cat_id=13&file_id=19

    *<<------------------------------------------------------>>*
    * This section of code is only executed once to find the *
    * GROM address for the GPL DSRNK, which is placed at DSRADD*
    * and R12 is set to >2000 to indicate that the address is *
    * found and to be used as a mask for EQ & CND *
    *----------------------------------------------------------*
       LWPI GPLWS                        R2,R3                else load GPL workspace
    

    So, instead of allocating 32 bytes of workspace with

    DSRWS BSS 32

    it fills 24 bytes with code for DSRLNK leaving 8 bytes for register storage (R12-R15).

     

    R3 clobbers part of the DLINK1 code that is only executed once.. actually all of the registers are available at DLINK3, after DLINK1 has run once, but only one is really needed.

     

     

     

    Very smart, Smart Programmer.

    • Like 2

  5. Do you think there might be an issue, with getting it back? I do have a non-booting one, that I am working on as time permits, that does have a known good Gate Array, I would be willing to send it if you are doubtful that your good one would come back intact. But if you believe they stand a good chance of being damaged, or not returned, then I would have to say no.

     

    Hey, I am clear to send in the Geneve. I'm going to send my 2nd one that can't find the boot disk.

     

    I am told not to expect much on the gate array - 2 micron features (my guess) won't present enough contrast.

    • Like 1


  6. How about a group order for factory assembly? The final step would then be Xilinx programming and EPROM.


    I made a quick estimate for tipi (sidecar) on https://www.smart-prototyping.com/PCB-Assembling.html


    An order of 25 to 100 units assembled comes in at each $40 plus component cost.


    Matt, what do you think? If somebody else did all the busy work, would you do the final steps to program them?


    I would be willing to put in money.


  7. I have dozens of replacement keyboards, as the result of taking on people's collections.

     

    PM me, I will share one, no cost.

     

    If you just want the M key, thats ok too.

     

    Now, those mods are pretty interesting. It looks like they brought out the video signals - my guess is composite on the BNC connector, and audio mini-phono plug.

     

    The 25-pin D-sub connector might be a "Joy-Print" interface, a mod that allowed printing (originally out the 9-pin, D-sub, joystick side port). Others will know that better (I never used one.)

    http://www.mainbyte.com/ti99/joytalk/joytalk.html

    Hint: the 1983 author of Joy-Print is Urbite on this forum. Bit of TI-99/4A lore there.

     

    The red button... you must push it and tell us what it does.

     

    Two guesses: RESET button, or LOAD interrupt. The LOAD interrupt had many uses. One was to run software to print a screen dump. Requires 32k expansion to use because address $FFFC.

     

    To figure out what you have, you'll need some schematics.

    First, see the FAQ http://atariage.com/forums/topic/267055-new-to-the-group-ti-994a-faq-hardware-and-software-resources-read-first/

     

    I like Thierry Nouspikel's TI Tech Pages

    http://www.unige.ch/medecine/nouspikel/ti99/titechpages.htm

     

    And the original TI provided schematics are in this document:

    http://www.mainbyte.com/ti99/man/ti99_tech.pdf

    Other upgrades on that MainByte page: http://www.mainbyte.com/ti99/upgrades.asp

     

    Have fun!


  8. I just pulled up my records to figure out where I bought the connectors. Digi-Key sells them. The connectors are made by Sullins and here are the part numbers:

     

    ECC22DRMN-ND is the Wire-Wrap type

     

    ECC22DRMN-S288-ND is the Saddle style type (these grip the board nicely and are really stable). If you look at the pictures of the side port splitter on Arcadeshopper's site, you will see this connector in action.

     

    Thank you. I ordered 10 for my own use. Saddle types, $64.06 for 10 today, non-stocked, delivery in 3 weeks.


  9.  

    Side port connectors are somewhat of an issue. I buy mine from Jameco or Mouser. The minimum order size for the saddle-type or the WW type is 14 connectors, at about $9 a pop. A lot more than you usually need for individual experimentation. There are also somewhat lower-quality connectors from Taiwan that are a lot cheaper, but they only come with very short pins (or in an RA variant that you can form to make something with longer pins).

     

    Could you give the part number for Mouser and Jameco? I have searched for those darn things quite often and I'm surely looking in the wrong category.

     

    I got the less desirable 44-position card edge connectors from AliExpress, both the the short straight pin kind. and the right angle bendy formy kind (ugh, getting those pins into PCB through holes is tough.)

     

    I'm still relying on the 44 position card edge to IDC ribbon cable connector from the CF7+. Really useful thing.


  10. I booked today at the Hilton Garden Inn link.

     

    Arriving Thursday, leaving Sunday (I'll actually stay in Chicago Sunday night, visiting UofC.)

     

    I would like to give a workshop Friday on FORTI-2, building hardware on the side port, interfacing PMODs to the 4A with low level access in FORTH.

    We will see all the digital signals back and forth on the side port, on the PMODs, and maybe create something new.

     

    I will travel with just enough hardware (4A/F18A, laptop, sidecar FORTI-2 proto, 32k, nanoPEB, logic analyzer). Leaving soldering gear home.

     

    A FORTI music demo would be appropriate for the Saturday Faire.

     

    -Erik

    • Like 5

  11. OK, I have 4 websites configured in the Phone directory at present (9640News, Fusion, HeatWave, The Keep). I've got Xmodem implemented.

     

     

     

    Hi Beery,

     

    your post inspired me to spend all day Saturday trying to bring up a telnet TI-Net BBS.

     

    most of that was troubleshooting my Lantronix (an ETS-4P model). My current router, ASUS RT68U, doesn't like it! Wireshark shows that Lantronix convinced ASUS to rename my Roku to ETS-4P-xxxxx (at a completely unrelated DHCP IP!) while pointing out that all the Lantronix DHCP packets have framing errors.

     

    I sort of got it working, but I think it will be easier to ditch the Lantronix and just connect NanoPEB to my Centos box and write a tiny server program. Lantronix is nice in that it implements DSR/DTR just like a modem.

     

    Next Saturday maybe.


  12. Do you think there might be an issue, with getting it back? I do have a non-booting one, that I am working on as time permits, that does have a known good Gate Array, I would be willing to send it if you are doubtful that your good one would come back intact. But if you believe they stand a good chance of being damaged, or not returned, then I would have to say no.

     

    I'm not worried. I am waiting for a reply. They are busy this week.

     

     

    Looking at the numbers, I think that 10 microns is the limit of what I would expect to get back. I think I see 100 pixels per cm on the detector, and single digit to maybe 10x optical magnification. That's an order of magnitude away from what is needed to resolve a grid on a GA from 1987 that is probably 2 micron feature size.


  13. I'm just reluctant to send my working Geneve anywhere. My non-booting one has only been plugged into a pbox under ordinary circumstances since it was last working in 2012. It's got one of the RAM mods (done by you know who) but not full GenMod. For some reason now it never lights up any disk controller card (TI, Myarc) and then complains it can't find a boot disk.

     

    (That gives me an idea just now to check what's wrong with it.)

     

    If I really have to, I'll send my good Geneve out..


  14. I would say the gate array would be the best candidate, I am just about to release cleaned up copies of the scans that Paul Charlton did of the Geneve and the HFDC, back in 1986-87. There were some places where it looked like traces just vanished, but all in all, fairly good images. an x-ray may shed some more detail on the board itself, but if it could help to determine the logic needed to replace the array, without decapping one, that would be awesome.

     

    I have a non-booting Geneve then, if it benefits your effort I think it's the answer. I will ask for a board level scan and a focus on the gate array.

    Although the TMS9995 and TMS9938 would be interesting.

    • Like 2


  15. If we could get a high quality xray of a piece of hardware, which one would we benefit from the most?


    Like this xray of the iPhone X here, in Step 3:




    The huge photo:



    I'm not just speculating. The engineer who produced that xray made me this offer.



    I'm thinking, the 4 layer PCB for the Geneve. I don't know if individual chips would be useful.. think of reverse engineering LSI.

    I wonder if the Geneve gate array would reveal useful info?
    • Like 3

  16. OK, here is what I want to do.

     

    Is there already a utility of some sort that can run under the Editor/Assembler cartridge that will allow me to save a block of memory as a program image file?

    Specifically, I want to save the Ram space from >6000 to >7FFF as a program image file that can be loaded as a cartridge image later.

     

    What I have is an E/A cartridge with 8K, that when I turn on my computer, has the Myarc Extended Basic 2 "cartridge" so it can load Extended Basic 2. I want to be able to save that ram as a ROM/RAM cartridge image so I can specify it in the future as a module that hopefully can be loaded by the FinalGrom cartridge.

     

    I did this with the GramKracker back in the late 80's, but no longer have the image. If someone else has a Myarc 512K card with GramKracker that can save the image that has the load 128K OS option, that would also serve my purpose.

    Thanks.

     

    Beery

     

     

     

    Beery,

     

    Back in the day, Genprog's LINK tool was useful for making cartridge images. It might not fit your use case. But if one has a lot of relocatable or absolute object files and wants them organized in cartridge banks or PGM files for use on a 4A, the process can be scripted.

    • Like 1

  17. RDBENA* is for PEB cards to control the 74LS245 in the Flex cable boot... To my understanding anything you connect should be high-impedence, or active-low. You should never drive it to 5V, or any volts... or you add more current that other cards have to sink.

     

    If you are on the sideport, you wouldn't interact with it at all... The first version of my external 32k board was simply Theiry's circuit minus the RDBENA control. http://www.unige.ch/medecine/nouspikel/ti99/mem32k.htm

     

     

    But, where I do mess with RDBENA* on TIPI, in the PEB, I use half of a 74HCT244 to drive RDBENA active low or leave high-impedence, with a pull down resister on one of the inputs, RDBENA connected to the matching output, and then my control logic, such as what I feed the on board '245's enable to the '244s output-enable, either driving active low, or not driving at all.

     

    [email protected]

     

    I should clarify, my RDBENA* is internal to my side port thingy, not connected to a Pbox or anything else.

    I named it because I think it duplicates the same function as the RDBENA* in the flex hose. It turns on my 245 which connects to the databus at the sideport.

     

    If I were making a PBOX card I think I would just call it OE on the board.

     

     

    My problem was "fixed" by replacing R1 and C1.

     

    I replaced the 0603 pull-up resistor that read 10k with an 0805 3.3k. There is still a 0.7V drop across R1, which makes 2.5V into CE* suffficient. 1.6V was not!

    I think I may have a slightly damaged LVC245A sucking too much current, but today it passes tests.

     

    I don't observe any voltage drop across the same circuit , pull up resistor R2, connected to the CE* on another LVC245A.

     

     

    BTW, I didn't see any reason to use 244s, I think the 245A pinout simplifies my board when used in one direction only.

     

    Hopefully getting closer to a public announcement of a working board...

     

    Matt, I am definitely taking your suggestion of daisy chaining onto your 32k sidecar pins. It adds so much value to coexist with a TIPI.

    I have your 32k sidecar to begin with, and I'll order a TIPI when I actually have time to use it.

     

    -Erik

    • Like 1

  18. Update:


    I replaced R1 with a 0805 3.3k. Tested all the continuity. There is still a voltage drop across pull-up resistor R1. It supplies 2.4V to CE* on the LVC245A (still not 3.3V) when nothing else is driving CE*. This might be adequate.


    I suspect the LVC245A might be damaged and sinking 3ma into CE. I measured total current at the power supply at 10mA, which seems large.



    Stuart, I messaged you a link to a schematic.


  19. The LVC245A - isn't that rated for operating up to 3.6V? Will it reliably drive the 5V TTL TI-99 bus?

     

    Have you got a circuit diagram? I don't understand where the pull-up resistor is. If its on the RDBENA* output from the card, then I'm not sure it is needed as there's a pull-up resistor in the flex cable circuit.

     

    It's attached to the side port.

     

    I am using the LVC245A as a level translator. It tolerates 5V inputs, and as for output, the VOH is 3.3V and is sufficient to pull TTL high.



  20. I don't have extensive experience debugging hardware, so I'm asking for help with this little problem in my first surface mount build.


    In this circuit, as built by me, the pull-up resistor R1 to RDBENA* is not accomplishing its job.


    The LVC245A starts driving when VCC is applied. It's connected to the 4A sideport data bus, so disaster ensues. When I drive RDBENA* to 0 or 1 along with DBDIR, the board works ok.


    I'm wondering how to explain the measurements before I start over and reflow the parts.


    U1:

    VCC --- C1 --- GND

    DBDIR --- BDBDIR

    CE* --- R1 --- VCC

    \-- RDBENA*


    Spec Values:

    U1 LVC245A (SOIC 0.05" spacing)

    C1 0.1 uF smd 0603

    R1 3.3K smd 0603

    I hate 0603s. I'm switching to 1206.


    Measured values:

    C1 0.099 uF

    R1 9.9K

    R2 3.3K (elsewhere in another pull-up)


    Voltage measurements with RDBENA driver set to hi-Z:


    VCC 3.3V

    R1 1.6V measured at left side of R1

    RDBENA* 1.6V measured off-board

    CE* 1.5V measured at chip leg


    So the pull-up resistor R1 is not accomplishing its job.

    Is it a bad solder joint? I verfied continuity between each lead.

    The measured resistance of 10K is strange - my R2 was 3.3K from the same reel.




    Ideas:

    1. Is RDBENA* 1.6V consistent with it being an unconnected, floating input?


    2. Is R1 damaged by my sloppy soldering, making it 10K?


    3. Is there not enough current to pull CE* high? From the LVC245A spec, it only needs <0.01 mA. There should still be 0.33 mA available into CE*


    1.7V drop over R1 would be 0.17mA flowing. This doesn't make sense.


    4. Could the 9.9K measured at R1 instead be the resistance from VCC through U1 to CE*?


    5. My VCC traces are the same size as every other signal trace. Should they be bigger? (I do have a ground plane fill.)


    6. I'm leaning toward the theory that left lead of R1 is not connected... except my continuity check tells me it is. Maybe I'm probing the board trace, not the resistor?


    7. Suppose R1 is completely destroyed. How much heat would it take to destroy an 0603 resistor?


  21. This kind of peeves me off a bit. Definitely not what I had in mind when initially designing these boards. Probably glad it hasn’t happened already, but still. Gazoo would likely be upset as well.

     

    This is the same guy who tried to sell me homemade cassettes as “new old stock” a while back.

     

    https://www.ebay.com/itm/1-6-MULTI-GAME-512k-CARTRIDGES-TONS-of-GAMES-TI-99-4A-Texas-Instruments-TI99/153137024495

     

     

    Sent from my iPad using Tapatalk

     

    Ick.

     

    Who wants to put identical cartridges up on eBay at reasonable prices?


  22. Welcome! I am a CC-40 fan too but currently inactive.

    Did you go to VCF Atlanta? I think that's when Jim Brain and Jon Guidry hatched the SD plan.

    I know Jim from many VCFMW, the most relaxing of the shows.

    • Like 1
×
×
  • Create New...