Jump to content

Stuart

Members
  • Content Count

    1,020
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Stuart


  1. Has anyone got the NanoPEB serial port working in assembler? I can't get it to write a character. The relevant snippets of my test code are as follows:

     

    CR9902B EQU >1340 CRU base address for RS-232 port on NanoPEB.

     

    LI R12,>1300 Switch on serial interface on NanoPEB.
    SBO 0

     

    LI R12,CR9902B CRU base address of port.
    SBO 31 Reset 9902.
    LI R1,>6300 Control register: 2 stop bits, even parity, 8 data bits.
    LDCR R1,8 Load control register.
    SBZ 13 Disable loading of interval register.
    LI R1,>001A 19200 Baud.
    LDCR R1,12 Load transmit and receive data rate registers.

     

    ...

    ...

    ...

     

    LI R12,CR9902B CRU base address of 9902.
    XXX SBO 16 Set RTS on.

     

    LDCR R2,8 ******* SEE COMMENT BELOW *******

    LI R0,>FFFF
    YYY DEC R0
    JNE YYY
    SBZ 16
    LI R0,>FFFF
    ZZZ DEC R0
    JNE ZZZ
    JMP XXX

     

    With the "LDCR R2,8" line commented out, RTS is toggling on and off about once per second. With the "LDCR R2,8" line not commented, RTS is staying in a steady state.

     

    Any ideas? The code works fine on my TM990 system. I've tried adding a LIMI 0 in the code but that doesn't seem to help.

     


  2. What were you soldering with, a blacksmith's iron? ;-) ;-)

     

    Shorting pins 5 and 6 should have no ill effects other than keeping the processor in perpetual reset. Remove the solder blob and all should be well.

     

    Another place you could connect the reset button is across capacitor C606, which is the large capacitor near the grey crystal. Far easier to access. See this picture [http://www.avjd51.dsl.pipex.com/ti/images/console_32k_ram_modification_fitted.jpg] and follow the grey cable on the left, which goes to my reset button.

    • Like 1

  3. I think it could be done with two chips. A single SRAM and a chip for the address decoding. I'm not sure if the fact that the memory expansion had to respond to two memory regions complicates the address decoding but a single PAL/GAL could easily handle it.

    Two chips should be possible. A 128kx8 RAM (the next 'size up' from 32k, and only a couple of quid) and a 74LS138 address decoder (to enable the RAM only when addressing the 8K blocks occupied by the 32K RAM expansion). Plus four diodes to OR together the CS signals plus four pull up resistors.

    • Like 3

  4. Yes, in effect, I'm cycling through all the coefficient values, but I'm not comparing the actual sound, rather the error is a measure of how good the prediction is with the given set of coefficients. Also I'm not cycling through all possible combinations of coefficient values... that would take far too long.

     

    Which recording would you need? I have the original samples, then the audio output of my program, the output of M.E.S.S. running the speech, and then I could probably record it from the real TI-99 (which I'd have to put up first and find a way to transfer the program... probably via the tape cord from the PC)

     

    I think MESS has the most accurate simulation of the speech chip at the moment? So MESS would be fine if you haven't got the 'real iron' set up and handy.


  5.  

    The LPC coefficients are found by brute force... here I simulate an LPC frame with the already known coefficients and one more that cycles through all the possible values. In the simulation, the normal exitation doesn't take place, instead the actual samples are at the start of the chain going down to the "throat" and compared to what comes up the "throat". The error of that comparison is summed up for the frame, and the coefficient value giving the minimum error gets taken. This is cycled through all coefficients. After that, the simulation starts again for that frame, now trying to find out if with the other coefficients known, one of them would actually better have a different value than in the previous "round": This is repeated until all coefficients keep their value for a simulation round.

     

     

    So for each frame, are you in effect cycling through all the coefficient values, seeing what sound they produce, and comparing that with the input?

     

    Could you post a recording of the audio to see what sort of quality you're getting? ;-)


  6. But the failures seen tend to be quite specific, and as reported in this thread - the display is absolutely normal except that some characters are garbled. And that's down to one of the VRAMs. They're fairly easy to replace, if one knows which one of the eight is faulty. I might have heard of a VDP failing once or twice, but have never heard of a problem with any other component in the video subsystem.


  7. This seems to be a common problem. A while ago Michael (I think it was) done a temporary tweak in MESS to replicate a failed VRAM and show how it looked on screen. Might someone take up the challenge of adding this as a 'feature' to an emulator to help diagnose "if your startup screen looks like this, replace VRAM chip Uxx"? Or do temporary tweaks and take a series of reference screenshots? Not entirely sure how practical this suggestion is - I'm guessing that it's probably only one bit in *part* of a VRAM failing, rather than the entire contents of one VRAM failing.

    • Like 1

  8.  

     

    --- Ω --- posted a link over in the Classic Computing Forum..

     

     

    I have web sites hosted at 1&1.. It appears that they currently support PHP 5.6, 5.5, 5.4, 5.2 and 4.xx

     

    Did you want a simple test, or would you like something more long term??? I have a lot of space, so I could setup some web space for you to use for an extended period of time..

     

     

    MarkO

     

     

    Thanks MarkO. I've sent you a PM.

     

    Stuart.

    • Like 2

  9. Video of the browser running on my TM990 here: www.stuartconnerdownloads.me.uk/z_ti_browser_1.mpg [a stupidly large 35MB file for some reason; you might need to 'save target as' if it won't display in your browser]. This is edited to remove the periods where at the moment it has to keep retrying the connection to the server.

     

    To clarify a previous comment:

     

    "If I'm understanding this correctly, anyone with a website could hide these <99ml> tags into any existing HTML page, but only those of us with TI's would see whats meant for us. The browser would just ignore everything else...I like it!"

     

    No. Internet Explorer for example (don't know about other browsers) will display text that is not inside <html> and <p> tags. Take a look at http://www.avjd51.dsl.pipex.com/z_ti_test_1.htm for example. The program design at the moment also requires the whole downloaded page to be held in memory (because it is re-rendered when you scroll up or down), which limits the size of the page that the browser will work with.

    • Like 2

  10. BUMP - Still thinking about your browser Stuart!

     

    Since the UDS-10 does not resolve addresses, you're browser would be an invaluable tool at << this site >>.

    Since the UDS-10 requires the IP number, your browser would be the magic bullet for the TI to get it on it's own.

     

    Well it's actually pretty much finished running on my TM990 - will need porting to the TI-99/4A. And assuming I can get my nanoPEB talking to the Lantronix.

     

    First, just to clarify that it was never going to and never will work with any 'modern' web page - there are just too many HTML tags and other stuff for the TI to handle, and there's no way you could display much of it any way with the TI's low resolution screen. Instead, I have defined a set of tags that are supported - within an outer set of <99ml></99ml> tags of course. ;-)

     

    Tags currently supported are:

     

    <p></p> [paragraph; text outside these tags is considered a comment and is not displayed]

    <br> [line break]

    <cdef:xx:yyyyyyyyyyyyyyyy> [redefine character xx; any character 00-127 can be redefined]

    <clr:bf></clr> [set foreground and background colours for text]

    <chr:xx> [display character with hex ASCII code xx, for characters with ASCII codes less than >20]

    <a></a> [hyperlink]

    <u></u> [underline]

     

    The character set that is loaded includes characters for table border lines, so tables can be drawn using these.

    Simple graphics can be drawn by redefining a number of characters and drawing it using those.

     

    There's a sample file here: http://www.avjd51.dsl.pipex.com/z_ti_test_1.htm. You should be able to load this in your browser (where it WON'T be displayed correctly) then do 'view source' to see the actual tags. I'm not at home at the moment so can't do a screenshot.

     

    The screen gives a 42 x 24 line display that can be scrolled up/down. Because characters are not all aligned on 8 pixel boundaries, there are some restrictions on changing foreground/background colours mid-line. A pointer sprite, controlled through the keyboard, enables hyperlinks to be selected.

     

    To resolve addresses, the program first uses the Lantronix to connect to a one-liner PHP script on my website (which has a pretty stable IP address) which returns the numeric IP address, then uses that to download the web page. I have a problem with the IP lookup at the moment - it normally works the first time but then the Lantronix won't connect to the web server again for another minute or so. The program has built-in retrying until a connection is made, but I need to look into this.

     

    No download functionality at the moment, but I think it should be possible. There will probably be a download size limit according to how much RAM is free, but should be able to maximise this by using a small standalone module to handle the download which then reloads the main browser program when it has finished.

     

    Hope to get a video of it running on my TM990 around the end of the week.

     

    Stuart.

    • Like 1
×
×
  • Create New...