Image Map Image Map
Page 10 of 13 FirstFirst ... 678910111213 LastLast
Results 91 to 100 of 122

Thread: Modern XT compatible PC on FPGA with real 8088

  1. Default

    Quote Originally Posted by Trixter View Post
    Congrats, I think that's the first hard drive + video card I've ever seen for 8-bit ISA. (I own one for VESA Local BUS, but I'd never seen one for ISA)
    Funny - never thought I could be the first in something like this
    What kind of weird combo I need to make next ?

  2. #92
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    4,568
    Blog Entries
    1

    Default

    Well, it should be trivial to add a battery-backed clock Beyond that, I'll let others make suggestions.
    Offering a bounty for:
    - Documentation and original distribution disks for: Panasonic Sr. Partner, Corona PPC-400, 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)

  3. Default

    Quote Originally Posted by Trixter View Post
    Well, it should be trivial to add a battery-backed clock
    Exactly at this moment, I'm adding RTC/NVRAM chip to the project
    COVOX is already there.

  4. #94

    Default

    Unfortunately, for long time did not have enough desire to finish next project... Finally decided to wrap things together and new card was born:

    UM10.jpg

    As you can see, we have the following:

    1. Altera (Intel) MAX 10 FPGA big enough to host at least 10 (or more) PC/XT inside
    2. 32M of SDRAM - could be used as main memory or EMS (at the moment, have a EMS compatible with EMS driver from Lo-Tech)
    3. FLASH memory - can host something like ROM BASIC, BIOS extensions etc
    4. SD card connector - to use SD card instead of HDD
    5. RCA video connector - to connect to TV/monitor video input (at the moment, have simplified CGA controller working, but very far from 100% compatibility)
    6. HDMI connector - to connect modern TV/monitors (at the moment can paint nice color lines, nothing else yet
    7. Audio stereo connector with DACs (at the moment, have almost normal working COVOX)
    8. RTC with CMOS

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

    Default

    That's quite a project!! I have some thoughts:

    #2: The real power of EMS 4.0 in an 8-bit system is that it is bank-switched: It can map pages in and out just by adjusting hardware registers. This is not only much faster than copying RAM around (which is what LIM EMS 3.2 "limulator" drivers do), but can also add very powerful multitasking abilities: You can set your host system to 128KB RAM, then let the EMS 4.0 hardware backfill the rest, and then you can swap up to 512K in and out instantly. For the most impact, I very strongly suggest trying to make your implementation LIM EMS 4.0 compliant.

    #4: Assuming the SD card will work with #3 (BIOS extensions) to provide the XT-IDE BIOS?

    #5: I'd drop this, and instead:
    #6: ...make this VGA-compliant output. There is likely already a VGA core you can drop in.

    #7: If this is also FPGA code, then having Sound Blaster and Covox would cover just about everything.

    #8: If possible, make this compatible with the AT RTC, so that existing DOS wouldn't need to be modified to automatically use it.

    Good luck with your project!
    Offering a bounty for:
    - Documentation and original distribution disks for: Panasonic Sr. Partner, Corona PPC-400, 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. #96

    Default

    Quote Originally Posted by Trixter View Post
    #2: The real power of EMS 4.0 in an 8-bit system is that it is bank-switched:
    It's exactly how does my implementation work - I can change pages in the window just programming registers - no copying required

    Quote Originally Posted by Trixter View Post
    #4: Assuming the SD card will work with #3 (BIOS extensions) to provide the XT-IDE BIOS?
    Not XT-IDE BIOS - I use my own one to handle INT 13 (very basic one, just a proof of concept, but it works quite well)

    Quote Originally Posted by Trixter View Post
    #5: I'd drop this
    No way ! Still trying to finish cycle-accurate CGA to run 88MPH

    Quote Originally Posted by Trixter View Post
    #6: ...make this VGA-compliant output. There is likely already a VGA core you can drop in.
    VGA-output and VGA-core not really connected - the core could be, for example, CGA, but physical interface - VGA, it's not difficult at all to convert this inside of FPGA

    Quote Originally Posted by Trixter View Post
    #7: If this is also FPGA code, then having Sound Blaster and Covox would cover just about everything.
    Yes, it's FPGA, only DACs are hardware (extremely simple - capacitor and resistor). Unfortunately, I looked into Sound Blaster and realized it's too much for me - DSP is not my thing

    Quote Originally Posted by Trixter View Post
    #8: If possible, make this compatible with the AT RTC, so that existing DOS wouldn't need to be modified to automatically use it.
    Will look into it, but don't see any difficulties here...

    Quote Originally Posted by Trixter View Post
    Good luck with your project!
    Thanks !

  7. #97

    Default

    Quote Originally Posted by newold86 View Post
    No way ! Still trying to finish cycle-accurate CGA to run 88MPH
    If you have any questions about how the CGA works or how long it takes to do things, I can probably help.

    I recently learned something interesting about the MC6845 CRTC on most CGA cards: the point at which the values in the start address registers actually take effect (i.e. they are copied to the internal "start address of next scanline" register) is not at the top-left of the active area as you might expect, but instead at the "horizontal displayed" position of the last scanline of the frame. Presumably the chip's designers had a problem with writing to and reading from the internal register in the same cycle, and comparing the horizontal_displayed was a good way to find a suitable cycle in which to do the write. One consequence of this is that if the value in the horizontal_displayed register is larger than the value in the horizontal_total register then the start address doesn't actually get used at all.

    This doesn't actually matter for 8088MPH, but it might be important for the next demo!

  8. #98
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    4,568
    Blog Entries
    1

    Default

    Quote Originally Posted by newold86 View Post
    It's exactly how does my implementation work - I can change pages in the window just programming registers - no copying required
    Excellent!

    No way ! Still trying to finish cycle-accurate CGA to run 88MPH
    Well... good luck

    Yes, it's FPGA, only DACs are hardware (extremely simple - capacitor and resistor). Unfortunately, I looked into Sound Blaster and realized it's too much for me - DSP is not my thing
    If Covox only: There is very little software out there that uses Covox and can run on an 8086-class system. But, if it's easy to implement, go for it. Is there an OPL2 core you can drop in to add Adlib compatibility? That would be useful too, and work with more 8086-friendly software.

    The Disney Sound Source has a 16-byte FIFO that makes it much easier for 8086 systems to drive it (lower rate, FIFO means you only need to fire ~500 interrupts per second) so if that's easy to implement, there's that. Disney Sound Source tech info is online.
    Offering a bounty for:
    - Documentation and original distribution disks for: Panasonic Sr. Partner, Corona PPC-400, 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)

  9. #99

    Default

    Quote Originally Posted by reenigne View Post
    If you have any questions about how the CGA works or how long it takes to do things, I can probably help.
    Thank you ! Actually, I already have used some info from your blog

    Quote Originally Posted by Trixter View Post
    Excellent!
    If Covox only: There is very little software out there that uses Covox and can run on an 8086-class system. But, if it's easy to implement, go for it.
    Already done

    Quote Originally Posted by Trixter View Post
    Is there an OPL2 core you can drop in to add Adlib compatibility? That would be useful too, and work with more 8086-friendly software.
    Yes, I have seen the core for the chip used in OPL2

    Quote Originally Posted by Trixter View Post
    The Disney Sound Source has a 16-byte FIFO that makes it much easier for 8086 systems to drive it (lower rate, FIFO means you only need to fire ~500 interrupts per second) so if that's easy to implement, there's that. Disney Sound Source tech info is online.
    Good idea - DSS shouldn't be too difficult to implement

  10. #100
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    4,568
    Blog Entries
    1

    Default

    Quote Originally Posted by newold86 View Post
    Good idea - DSS shouldn't be too difficult to implement
    A proper implementation should be able to work with both official software that uses the FIFO (The Rocketeer, Mickey's Jigsaw Puzzles) and unofficial software that doesn't use the FIFO but instead tries to drive the DSS like a Covox (Mark J. Cox's MODPLAY -- you'll need a 286 to test MODPLAY though).
    Offering a bounty for:
    - Documentation and original distribution disks for: Panasonic Sr. Partner, Corona PPC-400, 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)

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
  •