- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Edit Admin
Bloody PASCAL - haven't seen that syntax in a while... in fact, I think the last time was when I still wrote Delphi code.
Admin
I had the pleasure of writing a new system that was essentially a migration of an HP3K app to a not-so-mini mainframe app. The HP3K users, however, whined and wailed over the loss of their big giant F keys, which which they did most of their "work" on that beast.
Admin
Worked a while with the MPE/HP3000. Incredible stable computer with month of uptime. You can still run HP3000 programs on Stromasys platform (as well as VAX/VMS, PDP-11 and others). Programs made in the 70ties still run on latest version.
This was in the days of Fortran IV. IF but no ELSE part. Only GOTO's ! Those were the days.
Admin
"...32-bit memory ... to support ... 4MB of RAM"
surely 32 bit memory would allow it to support 4GB of RAM?
Edit Admin
One of my first jobs was on HP3000s when they first came out. We didn't get one of the botched ones, but we got one of the very low serial number Series Is that was pretty quickly replaced with a Series III.
Lotta memories of scrimping and tucking to get a small enough memory footprint that it wouldn't grind to a thrashing halt with our planned user load of IIRC 6 workers.
Edit Admin
Well, yes, but in those days Gb of RAM wasn't a realistic option. Even the marketing of those days wouldn't be able to push that one. 4Mb was still a great deal more than 128kb, and definitely need more than 16 bits to support more than 64kb RAM.
In passing, I'm not sure how a 16 bit machine could support 128kb RAM without a certain amount of skullduggery as it could only address half of it.
Admin
That's the job MMUs did those days. Writing a constant into a magic address => mapping a particular memory bank to a particular range.
Admin
Great read on the HP3000 and its place in 2024. Despite its age, it’s still a valuable tool for many businesses, especially with the right support and modernization strategies. For those looking to get the most out of legacy systems like the HP3000, there are some helpful resources available at https://nimitechit.com. Looking forward to more insights on optimizing legacy infrastructure from the author.
Admin
Pascal, at least in the implementation that Brian Kernighan used for a while, doesn't have bitwise operators built in. See his paper, "Why Pascal is Not My Favorite Programming Language", about halfway through section 5, Cosmetic Issues. ( http://www.lysator.liu.se/c/bwk-on-pascal.html#cosmetics )
Admin
Back then, it was common for machines that were meant for engineering and scientific use to have memory that was word-addressed, rather than byte-addressed. Most of the data you needed to work with was numeric, so it made sense to be able to read or write a number with one memory read or write. So if you had a machine with 16-bit words and 16-bit addresses, it could access what we now think of as 128 kilobytes of address space, without any need for bank switching. The CPU would see the address space as 64 kilowords.
The "skulduggery" came about if you wanted to store character data without wasting bits at the top of a word, because there was no way to access any part of memory that was smaller than a word. You either had to live with the waste or do a lot of bit masking and shifting. Some machines let you pack two characters into the top and bottom halves of a word, by providing assembly language instructions to take a word apart and put it together again.