Use of parallel ports in NES/PC interfaces

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Use of parallel ports in NES/PC interfaces

Post by Sik » Sun Mar 31, 2013 4:05 am

tepples wrote:Can you run a 64-bit OS in a virtual machine inside a 32-bit OS and keep the benefits of a 64-bit OS?
No (or you shouldn't at least), unless the 32-bit OS is designed to explicitly allow this (in which case it can switch to long mode when needed). Of course this assumes you aren't emulating the CPU, if you are then pretty much anything is possible.

Or you could cheat and go the Windows 3.11 way, where the kernel was 32-bit but all the other software (including pretty much the rest of the OS) were 16-bit. In this case you'd have a 64-bit kernel but the rest of the OS could be 32-bit. Does that count?
tepples wrote:Can you run a real-time OS in a virtual machine inside a non-real-time OS and keep the benefits of a real-time OS?
You can run a real-time OS inside a VM (since the real-time part is the kernel scheduler), but the benefits probably are thrown away by the unguaranteed timeslices of the non-RTOS host. Between the different tasks of the RTOS it should stay real-time, though (although not against real life time), so I guess at least a minimum amount of the benefits stay (probably only useful in very few specific cases though).

Also reading back the thread... Wait a second, are you arguing about software compatibility with parallel ports? Huh, that isn't the biggest issue here really, the real issue is the hardware connection (parallel port to FDS). This is why USB is pretty much hated for this kind of stuff, without a microcontroller in the way you're pretty much screwed - unless you somehow feel like emulating an USB device on the other end, that is (can you even get enough speed to make it in-spec?).

Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)

Re: Use of parallel ports in NES/PC interfaces

Post by tepples » Sun Mar 31, 2013 9:34 am

My point was that to bit-bang successfully on a parallel port, you pretty much need an RTOS, and no, running the RTOS in a VM on a mainstream desktop OS isn't going to help. So going forward, to communicate with devices through bit-banging, you'll really need a microcontroller on the other end of a USB cable.

Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Use of parallel ports in NES/PC interfaces

Post by Sik » Sun Mar 31, 2013 10:08 am

I'm not sure a RTOS is going to help either... Hardware isn't perfect, oscillators can end up being slightly off, and that can in the long term drift the signals enough as to break things. You're going to need some sort of synchronization regardless of what you do, even if you go with a single tasking OS (which is even more accurate than RTOS as nothing can interrupt you).

Posts: 9
Joined: Sun Mar 24, 2013 11:16 am

Re: Use of parallel ports in NES/PC interfaces

Post by Cybertronic » Sun Mar 31, 2013 9:20 pm

Ok, so new direction with things, how about this...Getting a Commodore 64 OR an Apple ][e to communicate with a modern PC isn't all that difficult or that big of a deal to do. Get the NES to communicate with either a C64 or Apple ][e I got both of those and they are a dime a dozen. I have an IDE64 as well. (Its expensive as hell but it saved me lots of pain with 5.25 floppies :) ) I know a bit of Basic and 6502 assembly. Maybe I will fool around with it over the summer and see what I come up with. I want to go with the apple II because of the RS-232 port and I can even run TCIP over it, but a commodore 64 is a bit smaller and easier to store and I could rig up something to the cassette or serial ports and with the IDE64 and the USB link capabilities it will make development so much easier.... but oh wait.... that's been done too...


Anything that works on a C64DTV will work with a real C64..., and they are literally available at nearly any yard sale or local ad. I bought mine from the basement of an old church.

I used to use Star Commander with a x1541 cable off a boot CD to write .D64 files onto Floppies with my 1541 drive. I really got sick of that and got the IDE64.

I guess what I am getting at is if people want a cheap solution to something without spending a lot of money or messing around with programmable ICs, they are going to get stuck with a Parallel port or some other Serial port. It's just how it is. Cheap = Serial.

So if an RTOS cant be run reliably within windows then I guess a Boot CD like with Star Commander for the 1541 drive would be the next option, and have this RTOS on a CD address the hardware in question via PCIE or that USB to Parallel adapter full legacy support on it to accommodate modern computers.

I also strongly disagree with the short life expectancy of a PC. Moving parts aside, such as the fan or HDD most computers will outlive us all, and even if a HDD did fail, it isn't something that couldn't be easily replaced with something more reliable such as a USB stick. (for the purposes of this PC being used for Serial communications a full featured HDD isnt needed) Cooling fans are dirt cheap and so are low end power supplies, which if kept dust free work fine. The real problem is the people who smoke around their computers and the tar makes all the dust stick to everything, and then the system overheats and they wonder why their computer doesn't last more than 3 or 4 years. I have a Powerbook 190 (18 years old) with Lead acid batteries and it still works just as well as it did the day I got it, with all original parts, and Powerbook G3 Pismo (13 years old) and also a Blue and White G3 PowerMac (14 years old) that works as well. I had to replace the RTC battery on it because it showed signs of leakage, but that is easy enough for any simpleton to replace. I really want an Amgia 4000T and the USB add-on card.

User avatar
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Re: Use of parallel ports in NES/PC interfaces

Post by kyuusaku » Mon Apr 01, 2013 9:33 am

Interfacing with C64 peripherals etc is a completely different matter, FDSLoadr must somewhat accurately shift out/sample a ~100 kHz raw disk head signal whereas many other protocols are data layer, and handshaked such that jitter is irrelevant. Clearly one of the design principles of FDSLoadr was minimal hardware; if you give FDSLoadr an external timebase (oscillator, register, missed bit flag) the LPT can easily keep up in Windows and the jitter won't be of concern.

So the options are:

a) figure out how to reuse FDSLoadr in Windows through kernel sorcery
b) give the LPT an external timebase
c) custom USB MCU firmware
d) FTDI module or maybe Arduino or something

User avatar
Posts: 3715
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA

Re: Use of parallel ports in NES/PC interfaces

Post by blargg » Mon Apr 01, 2013 9:44 am

For Game Boy development, I hooked it to my SNES since that was the most accessible device I had that could do the protocol and timing easily. So I have the PC to the SNES via bit-banged serial on the SNES, and then the SNES to the GB via bit-banged clocked serial. I used to use a Tandy 102 (8085-based portable computer) for my I/O needs. Now I'd probably just use a Teensy 2.0 that I have.

Posts: 1014
Joined: Sun Mar 19, 2006 9:44 pm
Location: Japan

Re: Use of parallel ports in NES/PC interfaces

Post by ccovell » Mon Apr 01, 2013 5:55 pm

Another option: give this guy some support viewtopic.php?f=22&t=9631

Post Reply