Image Map Image Map
Page 2 of 4 FirstFirst 1234 LastLast
Results 11 to 20 of 32

Thread: Tandy 1000 intro + source code + more

  1. #11

    Default

    Quote Originally Posted by acadiel View Post
    Hah, I wonder why it didn't like my original Tandy 1000.
    If I found more info about the original Tandy 1000, I'll try to make it work.


    Quote Originally Posted by Trixter View Post
    Great to see another Tandy demo! Unfortunately, it's not worth testing on the PCjr because the PCjr requires the video page registers to be used;...
    Thanks for the info!

  2. #12

    Default

    Here's what it does on my PCjr before it goes nuts and crashes:

    20171115_182035.jpg

    The screen starts rolling, then I see the graphics (sort of) via the venetian blind effect, then a flickery blue screen until I reset the computer. FWIW.

  3. #13

    Default

    Tested on PCjr anyway, confirmed does not work. Shows bite screen without text, then a rolling screen with what could be the cartoon characters, then completely out of sync chaos.

  4. #14

    Default

    Quote Originally Posted by monzamess View Post
    Here's what it does on my PCjr before it goes nuts and crashes:

    The screen starts rolling, then I see the graphics (sort of) via the venetian blind effect, then a flickery blue screen until I reset the computer. FWIW.
    Thanks for testing it!

  5. #15
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    4,956
    Blog Entries
    1

    Default

    Quote Originally Posted by monzamess View Post
    Tested on PCjr anyway, confirmed does not work. Shows bite screen without text, then a rolling screen with what could be the cartoon characters, then completely out of sync chaos.
    Intro requires exactly 105KB free memory, so if your PCjr only had 128KB that wouldn't work. To even try to work, it would require a 256KB PCjr with -v32 or -v64 in the jrconfig.sys line.
    Offering a bounty for:
    - Documentation and original distribution disks for: Panasonic Sr. Partner, Zenith Z-160 series
    - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)
    - Any very old/ugly IBM joystick (such as the Franklin JS-123)

  6. #16

    Default

    Quote Originally Posted by riq View Post
    If I found more info about the original Tandy 1000, I'll try to make it work.




    Thanks for the info!

    Here's the technical manual for the Tandy 1000. Let me know if this does or doesn't help out

    https://archive.org/details/Tandy_10...ual_1985_Tandy

  7. #17
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    4,956
    Blog Entries
    1

    Default

    That's the service manual, not the technical manual. One location for the tech manual is here: ftp://ftp.oldskool.org/pub/drivers/T...nce_Manual.pdf
    However, that probably won't be as useful as the programmer's manual: ftp://ftp.oldskool.org/pub/drivers/T...-assembler.pdf
    Offering a bounty for:
    - Documentation and original distribution disks for: Panasonic Sr. Partner, Zenith Z-160 series
    - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)
    - Any very old/ugly IBM joystick (such as the Franklin JS-123)

  8. #18

    Default

    Thanks for the links.

    The service manual mentions (page 34 ) that the 8259A has, at bit 5, the vertical retrace interrupt. This is what @trixter mentioned about the IBM PC Jr.. Not sure what it does though. I'll need a BIOS dump I think.

    The Technical Ref. Manual mentions (page 58 ) in the Palette Registers section:

    > Once the palette is selected, hashing or noise will be observed on the display.
    > To avoid this effect, the palette should be accessed during vertical or horizontal blanking
    > and the address register should be changed to less than 10 prior to returning to normal operation

    I'm changing the palette on horizontal retrace. But I'm not restoring the register to less than 10.
    So perhaps that the issue.

    I'll prepare a new binary later this week with that fixed... and also a BIOS dump binary. I'd like to know what the BIOS is doing with the Vertical Retrace interrupt... also learn more about it.

  9. #19
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    4,956
    Blog Entries
    1

    Default

    Quote Originally Posted by riq View Post
    The service manual mentions (page 34 ) that the 8259A has, at bit 5, the vertical retrace interrupt. This is what @trixter mentioned about the IBM PC Jr.. Not sure what it does though. I'll need a BIOS dump I think.
    The vertical retrace interrupt, which is always present in a PCjr but only present in earlier Tandy 1000 models, is a hardware interrupt (IRQ 5) that you can hook (via INT 0Dh) to be called at the start of the vertical retrace period, ie. at the very bottom of the visible screen.

    I've made two PCjr productions, one of which did not use the VINT because it fired at the very bottom of the screen, and I needed it to fire at the end of the visible area to get a little bit more time, so I had to write my own and synchronize it in code, using a PIT divisor of 19912 which is the exact length of a CGA/PCjr refresh period.

    I'm changing the palette on horizontal retrace. But I'm not restoring the register to less than 10.
    So perhaps that the issue.
    I'm not sure about the Tandy 1000, but on the PCjr, it is very slow to change even a single palette entry, which is one reason why the raster bars in introJR are jittery. (It's possible one reason IBM provided the vertical retrace interrupt as a way to perfectly change the palette without any visible artifacts onscreen.)

    I'll prepare a new binary later this week with that fixed... and also a BIOS dump binary. I'd like to know what the BIOS is doing with the Vertical Retrace interrupt... also learn more about it.
    On the PCjr, the BIOS does nothing with the vertical retrace interrupt; it is provided for user hooking only. In fact, on the PCjr, all the BIOS does is set up a dummy entry for INT 0Dh that points to F000:F815 which is a small handler that masks that interrupt out of the PIC on first call, disabling itself. I'm guessing the Tandy 1000 does exactly the same thing.
    Offering a bounty for:
    - Documentation and original distribution disks for: Panasonic Sr. Partner, Zenith Z-160 series
    - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)
    - Any very old/ugly IBM joystick (such as the Franklin JS-123)

  10. #20
    Join Date
    Dec 2014
    Location
    The Netherlands
    Posts
    1,935

    Default

    Cool intro! Always nice to see some new 8088 stuff.
    I hope you can also get it running on the original Tandy 1000, and if possible, even the PCjr.
    Perhaps it is possible to make it run on a 128k machine? I see you currently incbin all data... But the C64 font is only required for the first part, right? So you could put it in a dynamically allocated buffer, and free it before starting the second part.
    Likewise, a large part of the screen in the second part is static. If you would load that dynamically, you can free it from main memory as soon as you copied it to the framebuffer. In fact, I don't know about the exact memory layout of these Tandy video modes, but perhaps you can load the data directly from disk to the framebuffer?
    Last edited by Scali; November 22nd, 2017 at 04:19 AM.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •