Jump to content

Stuart

Members
  • Content Count

    1,019
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Stuart


  1. On 7/20/2020 at 3:39 AM, Omega-TI said:

    Yeah, the manual is like 6 years old now.  I believe it would require getting your hands on a period version (pre TIPI) of the browser.  There were some differences is the settings in this manual that were changed at a later point in time to speed things up.  Also, the UDS-10 version required Stuart's site to do the heavy lifting of the URL.  So, what does this all mean?  It means that IF you can get a period version of the browser, it may not even work any more.   At any rate, here is a copy of the PDF/manual.  Good luck!

    None of the Lantronix versions of the Browser still on my website will work at the moment due to a change to a hard-coded IP address. But if you want to give me a shout once you get your UDS-10 working then I'll sort out a tweaked version for you.

    • Like 1

  2. I've been given some chips to pass on to someone who can make use of them:

     

    -- 2 off V9958 VDP

    -- 4 off 41464 RAMs

    -- 2 off CXA1645P RGB to composite encoder

     

    All untested.

     

    'Free' - but £2 + cost of postage from me in the UK to wherever you are. Payment required by PayPal once posted and I know the actual postage cost.

     

    If you're interested, let me know.

     

    Stuart

    • Like 1

  3. 11 minutes ago, StephenM said:

    I'm in the UK. I've ordered a couple from different sources, alas China, so it will be a while before they arrive. Fingers crossed that are what they say on top of the chip.

     

    I've got some 9929's here looking for a new home. If you want a couple, PM me your address and I'll pop them in the post.

    • Thanks 2

  4. 7 hours ago, TheBF said:

    I have created a new user variable that sets the base of SAMS pages for each of these tasks. It's manually assigned at the moment by the programmer when a task is created.

     

    So when a task is created, could you set 5 data words to the values needed for the SAMS registers? Then before calling the HIMAPPER code set R4 to point to the first of those words, and change HIMAPPER to 5 lines of MOV *R4+, *R1+? You could then do away with the AI R4,>0100 instructions.


  5. 1 hour ago, Omega-TI said:

    Stewart could I ask a favor for the next version of your fantastic browser?  It would be great if it had a quit button, either via keyboard or via a software button on the screen.  Thanks.

    I'll make a note for the next release, whenever that may be.  Quit as in reset.

     

     

    • Like 5
    • Thanks 1

  6. 13 hours ago, hloberg said:

    @Stuart you did this modification quite a few years ago. did it hold up? I'm thinking of trying it.

    I only use the TI-99 occasionally and mostly use that cable to power the 32K sideport and TIPI, but the mod is still working fine.  ;-)

    • Thanks 1

  7. I've tried TCMB, TSMB and TMB with my 99105 and 99110 and they appear to work as expected.

     

    With the code exactly as below it detects that bit 6 of TSTVAL is high and resets that bit.

     

    If I comment out the TCMB instruction and uncomment TSMB, and change the value of TSTVAL to >0000, it detects that bit 6 of TSTVAL is low and sets that bit.

     

    I checked TMC in a similar way and and that worked OK as well.

     

    Trying code very similar to your original, I get "0000".

            AORG >8000       Assemble at the bottom of RAM.
            
    START   LWPI WS          Set workspace.
    
            CLR  R3
    
            DATA >0C0A       TCMB (Test and Clear Memory Bit) opcode.
    *        DATA >0C0B       TSMB (Test and Set Memory Bit) opcode.
            DATA >01A3       Source operand in binary 000000 0110 10 0011 = bit displacement 6, indexed R3.
            DATA TSTVAL
    
            JEQ  BITHIGH
            XOP  @BLTXT,14
            JMP  PRNTRLT
    
    BITHIGH XOP  @BHTXT,14
    
    PRNTRLT XOP  @CRLF,14    Print result value.
            XOP  @TSTVAL,10
            XOP @CRLF,14
            
            B @>0080         Return to monitor.
            
    WS      BSS 32           Workspace.
    
    TSTVAL  DATA >0200
    
    CRLF    BYTE >0A,>0D,>00
    
    BHTXT   BYTE >0A,>0D
            TEXT 'BIT IS HIGH'
            BYTE >0A,>0D,>00
    
    BLTXT   BYTE >0A,>0D
            TEXT 'BIT IS LOW'
            BYTE >0A,>0D,>00
            END

     

     

    • Like 1

  8. Version 9.4 of my Internet Browser (for the TIPI only) is now released. Download links for EA3 and FinalGrom99 versions are here: [http://www.stuartconner.me.uk/ti/ti.htm#tipi_version]. If someone wants to do an EA5 version and post it here, that would be fine.

     

    The only updates in this version are a new <tag> and a couple of tweaks to help with Corey's CHAT site. When you go to the CHAT site using the new version, the bottom of the page (with the latest couple of message and the 'new post' fields) should be initially displayed. If you just leave it, the page should refresh every 30 seconds or so and alert you when a new message comes through. If you scroll up to view earlier messages, the auto-refresh should be disabled. If you then scroll back down to the bottom of the page, the auto-refresh should start again.

    • Like 10

  9. You can get the total number of sectors on the card (and hence calculate the number of volumes supported) from the IDE "Identify" command, which returns certain parameters from the CF card. The CF7 documentation (copy attached) talks about a CFINFO program which gets and displays this information; this program isn't mentioned in the later NanoPEB documentation, possibly because Jaime found it unreliable - he mentions that it doesn't work with Lexar CF drives. Disassembling parts of this might be useful.

     

    If you want to play around directly with IDE commands, the attached CF7 documentation also contains the CF7 IDE port addresses (you mentioned these above, not sure if you actually had a copy or not). Not sure if the same port addresses are used throughout the CF7/NanoPEB range. I designed an IDE interface for my TM990 system, notes from which might be useful:

    -- The tables in the upper right corner of [http://www.stuartconner.me.uk/tm990/hardware_projects/tm_990_ide_interface_sch.pdf] may help to understand use of the IDE registers and their mapping to port addresses (I use a similar set of separate read and write addresses to Jaime).

    -- My code for doing simple operations over the IDE interface [http://www.stuartconner.me.uk/tm990/hardware_projects/tm_990_ide_interface_source_code.pdf].

     

    CF7 Instructions (with read and write addresses).pdf

    • Like 1
    • Thanks 1

  10. 2 hours ago, Tim Hamilton said:

    (One question on listings, though: what do 'r' and 'e' mean when appended machine code words?  In E/A's listing, 'r' corresponds to a single quote, and there's nothing corresponding to the 'e'.)

    They indicate unresolved references - their value is not known until the program is loaded by the loader.

     

    What happens if you move the TEXT line to the end of the program - immediately before the END statement?


  11. 1 hour ago, GDMike said:

    I've tried to do a simple divide instruction to see how it's done, as I'm trying to get the bigger picture of converting a 1 to 3 digit ASCII number to hex. 

    It's a simple thing, but I can't get it.

    LI R3, >0042

    LI R4, >10

    DIV R3,R4

    I'm supposed to get a

    2 and remainder of 1.

    For some reason I have no attachment option. I was going to show my registers in explorer and what my results were.

    No where near what I thought I'd get.

    Help. I'm starting to grasp these conversions, but I can't even get started with the correct layout.

    The TI Editor/Assembler manual explains the instruction, as Beery commented above.

    Basically, the value you're dividing is a 32-bit word that occupies two registers (or 16-bit words in memory). The value you're dividing by is a 16-bit value in a single register (or 16-bit word in memory). With the DIV instruction, the first value is the value you're dividing by, and the second value is the value you're dividing. So for your example you want something like:

    CLR R3   'Put the value you're dividing in R3 and R4. You're only dividing a small number so R3 is clear.

    LI R4,>0042

    LI R5,>10 'Value you're dividing by.

    DIV R5,R3

    After the operation, R3 contains the quotient, and R4 the remainder.


  12. 14 minutes ago, FarmerPotato said:

    If I could get LS610 memory mappers for $2 a chip, I might want to put 4 of them in Geneve2020.

    Using vintage chips is a goal. Otherwise I'm using a $8 CPLD to replace them.

    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.


  13. 1 hour ago, GDMike said:

    Using this example, because im still confused.  Does r0,r1 and r2 have anything in them to start with? Sorry, I'm just trying to get this.

    lp
      mov *r0+,*r1+
      mov *r0+,*r1+
      mov *r0+,*r1+
      mov *r0+,*r1+
      dec r2
      jne lp

    R0 needs to be pointing at the data to copy, R1 needs to be pointing at where you want to copy it to, and R2 needs to contain the number of words (1 word = 2 bytes) to copy.

    • Like 1
    • Thanks 1
×
×
  • Create New...