• Please review our updated Terms and Rules here

Remote display/hardware limitations?

TheLazy1

Experienced Member
Joined
Jun 2, 2009
Messages
370
Location
Toronto, Ontario, Canada
I've been thinking over some random ideas about streaming a 320x200x8 display over ethernet to a 12MHz 286 PC.
I'm guessing the main complication is bandwidth, a 320x200 image plus a 768 byte palette would be 64768 bytes which even at 30fps would be (if I calculated properly) around 1.9MB.

There would be no specific framerate target though, something like this:

286) Request frame->Display->Request frame
Server) Listen->Capture->Resize->Palettize->Send frame->Listen

Maybe lower resolutions/color depths are possible/better?
This is just a random thought that keeps floating in/out of my brain :)
 
VNC sounds close to what I thought, but I was thinking something more lightweight and suited for simple remote input and display.
For some unknown reason I dreamt up vice city running on my 286 :D

Though I'll look into VNC and see how well it does.
 
well my program doesn't have the greatest performance. it's acceptable on a 486. GTA would be interesting to see played on a 286, lol.

you can probably get a good 15-20 FPS with a well-written program like what you suggest.
 
I wonder, would compression be an improvement in bandwidth utilization vs cpu time spent decompressing the image?
Another interesting thing to try might be using a text mode, but that's.. hmm.
 
I wonder, would compression be an improvement in bandwidth utilization vs cpu time spent decompressing the image?
Another interesting thing to try might be using a text mode, but that's.. hmm.

on a 286? no way. a 10 mbit LAN would be quick enough for decent speed anyway.
 
I might just give this a go, currently I'm lazily putting together a test screen capture app.
:)

I'm not quite sure how to generate a palette though, maybe there is a library that can do it fairly quickly?
 
I might just give this a go, currently I'm lazily putting together a test screen capture app.
:)

I'm not quite sure how to generate a palette though, maybe there is a library that can do it fairly quickly?

i don't know of one offhand. i'm sure there's a windows API you can use. because the target platform for the client is a 286, i would probably want to have a single fixed palette that the server uses for every frame. with a good one, you can get decent enough color approximation.

what do you plan to program this in?
 
Remote networking a 286 to play Vice City? lol! That would be cool.

I remember when I used my Game Gear TV Tuner to hook my XBOX to my Game Gear and played Midtown Madness 3. Looked pretty good on the old GG screen.
 
I've started writing screen capture code in C, but at a lazy pace since I have other things I'm working on.
A fixed palette though? Are palette updates that expensive?
 
Using separate palettes often results in an ugly effect where parts of the screen flick between a couple of slightly different colours, because the code ended up calculating the colour slightly differently for each frame based on what other things were on the screen each time.

Calculating the best palette for an image also isn't a trvial task, and there are a million ways of doing it. Whereas remapping an image to a fixed palette is dead simple.
 
well it's not that palette updates are expensive CPU-wise, but you'll probably run into the issue of the last frame's colors getting all messed up before you are able to update the screen with the new frame. it would look bad.
 
Does the original Remote Desktop stuff for DOS work? If you have a Windows NT 4.0 Terminal Server install you could run a program that creates a DOS floppy disk that contains the remote desktop client program.
 
Does the original Remote Desktop stuff for DOS work? If you have a Windows NT 4.0 Terminal Server install you could run a program that creates a DOS floppy disk that contains the remote desktop client program.

There is a program called "DOSRDP". I`ve used it for several times and it worked good. They have a demo version, which lets you run the program for 15 min.
 
I realized... there is no way this would ever work at 320x200, at least not more than a slide show.
What about encoding the image as 1bit monochrome and decoding it on the target PC?
 
Back
Top