Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3ccfg.exe requires over 256KB RAM #2

Open
voidstar78 opened this issue Aug 16, 2021 · 4 comments
Open

3ccfg.exe requires over 256KB RAM #2

voidstar78 opened this issue Aug 16, 2021 · 4 comments

Comments

@voidstar78
Copy link

On an old 5150, you'll only have 64KB or 256KB RAM in a stock machine.

I ran 3ccfg.exe on my 5150 with 256KB, and the program said there was insufficient memory.

I added the RAM extension for the XT-IDE, configured to 640KB, and then 3ccfg is working.

why does 3ccfg need so much RAM? I am not sure if the 3c509.exe also needs this much RAM -- if it turns out 3c509 driver needs this RAM for TCP/IP or whatever buffers, then that's fine - no issue then.

But if 3c509 can work with 64KB or 256KB, maybe the CONFIG utility should also try to work within that constraint.

I didn't try running 3ccfg from command line to see if it can complete the configuration with less memory. I know the readme notes give the suggested command line parameters - but I have to run 3ccfg to verify/examine what all those options are. But now I realize the suggested options in the readme are probably ok for like 99% of the situation.

Anyway - this same problem is with MS/DR DOS newer than version 4.0. Their SETUP/install require over 256KB, but then to actually boot after the install, you can boot with regular 256KB.

@hackerb9
Copy link
Owner

hackerb9 commented Aug 16, 2021

if 3c509 can work with 64KB or 256KB, maybe the CONFIG utility should also try to work within that constraint.

I agree that that would make sense. Have you tested it to find out if the driver even works within those memory limits?

Unfortunately, I don't believe it is going to be possible to make the config program smaller. I recall I had to use PKLITE to compress the executable so it would fit on a single 360K floppy.

Currently the executable file alone is 229 KB. Since it is a self-extracting PKZIP executable, it is going to need more RAM as it unzips and executes itself.

On a guess, I'd say most of the code is probably the silly text-based "windowing" system (Magma System's "MEWEL"). A random person on the Internet had this to say about MEWEL in 1994:

The overhead of MEWEL itself is from 250-300K, depending on which compiler and graphics library you are using. You can overlay MEWEL and reduce the in-memory size to 150-200K.

It may be possible for someone to remove MEWEL and leave the command line functionality. However, I do not have the 8086 assembly skill necessary to fix it. (3Com never released the source code, as far as I know).

@hackerb9
Copy link
Owner

Any progress on testing the driver with 64K/256K RAM?

@voidstar78
Copy link
Author

voidstar78 commented Aug 23, 2021 via email

@hackerb9
Copy link
Owner

Good job!

I'm also surprised about TELNET not working, but I think your guess is correct (statically allocated scrollback buffer seems plausible). You said netcat works, so you should be able to implement TELNET, but I suspect the mTCP version of nc is not going to support telnet protocol negotiation (RFC 854's "DO, DON'T, WILL, WON'T").

Did you try 64KB as well? I expect, even if the driver works, all the mTCP tools will fail, but it would be interesting to know. Unfortunately, the program I would most be interested in running, mTCP's TELNET.EXE, weighs in at 64KB just for the executable, so that's a no go.

(I actually prefer MS-Kermit's TELNET since it has file transfer builtin, but that's even more heavy weight. I'm pretty sure even 256K won't run the current version.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants