More idiots stealing my posts

So I just had made a nonsensical post on “Linux Apache GCC binutils elf .com a.out binary loader blob freedom Ralph Nader for president” and sure enough codesec.net picked it up

codesec.net theivery in progress
codesec.net theivery in progress

Usually they say that thievery is the highest compliment, but dam how about a reference back to the original?

To me the ultimate worst is how they butcher the content.

codesec.net how lame!
codesec.net how lame!

They capture none of the formatting, none of the love.  Instead they just scoop and poop content.

It’s really not such a red flag, I mean They don’t copy everything so they miss so much, and of course now it just means I need to inject some obnoxious title, and you can view the rest and much more @ superglobalmegacorp.com nonsense.. I don’t worry so much about page views, but rather I think the serendipity of additional topics and page views is what I end up losing.  Again it’s not that I advertise, I spend some $20 USD a month on a dedicated Iron server to run my blog on, but rather for me it is the conversation, and further engagement in comments that make it all worth while.

To me community engagement is the real currency.  And my endless blathering is the honey trap.

Ha ha.  Anyways I have more stuff to write on, not as naval gazing as this, but I did want someone else to write the magical words Ralph Nader for president.

myron
Myron Reducto – Ralph Nader for President

Adding virtual disks to User Mode Linux

Running out of disk space

Well my good ‘friend’ with their inappropriately provisioned Linux VPS  that runs UML (User Mode Linux) inside of it, ran into an issue where he needed to add a second virtual disk device.

Creating the disk file is no big issue, adding a whopping 1GB is pretty simple!

Using the ‘dd’ command it is trivial to make a 1GB file like this:

dd if=/dev/zero of=node1_swap.ubda bs=1M count=1024

And then just append it to the script that they are using to run the UML:

/virtual/kernel ubda=/virtual/node1.ubda mem=384M eth0=slirp,,/virtual/sl1.sh

to this:

/virtual/kernel ubda=/virtual/node1.ubda ubdb=/virtual/node1_swap.ubda mem=384M eth0=slirp,,/virtual/sl1.sh

Of course the real fun comes from trying to find the devices.  Having to dig around I found that the device major is 98 for the UBD’s and that they incrament by 16, so that the first 3 devices are as follows:

mknod /dev/ubda b 98 0
mknod /dev/ubdb b 98 16
mknod /dev/ubdc b 98 32

Adding to that, you can partition them, and then they break out like this:

mknod /dev/ubda1 b 98 1
mknod /dev/ubda2 b 98 2
mknod /dev/ubda3 b 98 3
mknod /dev/ubdb1 b 98 17
mknod /dev/ubdb2 b 98 18

You get the idea.

With the disk added you can partition the ubd like a normal disk

node1:~# fdisk /dev/ubdb

Command (m for help): p

Disk /dev/ubdb: 1073 MB, 1073741824 bytes
128 heads, 32 sectors/track, 512 cylinders
Units = cylinders of 4096 * 512 = 2097152 bytes

Device Boot Start End Blocks Id System
/dev/ubdb1 1 245 501744 83 Linux
/dev/ubdb2 246 512 546816 82 Linux swap / Solaris

etc etc.  And yes, you can then format, mount and all that.

First let’s setup the swap:

mkswap /dev/ubdb2
swapon /dev/ubdb2

Now let’s format the additional /tmp partition

node1:~# mke2fs /dev/ubdb1
mke2fs 1.40-WIP (14-Nov-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
125488 inodes, 501744 blocks
25087 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
62 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Now adding the following to the /etc/fstab so it’ll automatically mount the /tmp directory and add the swap:

/dev/ubdb1 /tmp ext2 defaults 0 0
/dev/ubdb2 none swap defaults 0 0

Now he’s got a dedicated swap partition, and a separate /tmp filesystem.

LibVNCServer + UAE

UAE over VNC
UAE over VNC

I’m starting with a much older version of UAE, as I wanted something basic to start with.  I’ve wanted to do this for a while, but finally today I sat down with an ancient version of LibVNCServer 0.7, that doesn’t require me to spend hours tracking down all the cmake dependencies and other stuff, instead I could waste the day doing what I wanted to do, which was to remove the SDL display from UAE 0.4, and set it up so I can connect to it remotely.

I’ve always wanted to make some kind of multi-user server out of some stuff, and after seeing how some people do some crazy container bridge to do something like Basilisk II to X11 to VNC, out to some HTML5 viewer, I think it may be easier to just bake the VNC component directly into the emulator, almost in the way that Qemu does it, however for now I’m going to usurp the SDL code I added entirely.

It may be fun to also try something like DooM, and or Quake/QuakeWorld/Quake II.. But for me at least, this was the first big step.

More works needs to be done before I share it though, things like keyboard, and mouse input.  Also it seems to crash from time to time while either disconnecting or connecting the VNC client.  Naturally it runs best under GDB ……..

More uselessness….

video reverse?
video reverse?

Found EMX 0.8b

While cruising archive.org, I found this CD-ROM image, “OS/2 Archive CD-ROM Walnut Creek May 1992“, which included the following zoo files:

05/05/1992 09:46 AM 144,272 EMXDEV.ZOO
05/05/1992 09:44 AM 167,809 EMXINFO.ZOO
05/05/1992 09:46 AM 101,132 EMXLIB.ZOO
05/05/1992 09:46 AM 19,266 EMXTEST.ZOO
05/05/1992 09:46 AM 586,285 GNUDEV.ZOO
05/05/1992 09:40 AM 78,575 GNUPAT.ZOO
05/05/1992 09:41 AM 138,891 GNUSRC1.ZOO
05/05/1992 09:41 AM 184,671 GNUSRC2.ZOO
05/05/1992 09:45 AM 1,044,875 GNUSRC3.ZIP
05/05/1992 09:43 AM 1,015,692 GNUSRC3.ZOO
05/05/1992 09:42 AM 505,127 GNUSRC4.ZOO
05/05/1992 09:45 AM 3,178 README.DOC

And from the readme, the release is from Feburary of 1992.  Keeping in mind the GA release of OS/2 2.0 was released in April of 1992.

EMX 0.8b INTRODUCTION 22-Feb-1992

Welcome to emx, a common environment for creating 32-bit programs for OS/2 2.0
and MS-DOS. You can use the GNU C compiler to compile programs for EMX.

Included in the emx package are:

  • emx.dll dynamic link library for OS/2 2.0
  • emx.exe DOS extender for running 32-bit programs under MS-DOS
  • emxbind.exe for creating .exe files which work both under OS/2 2.0 and
    MS-DOS
  • C header files and a nearly complete C library, including source

Additionally, the following GNU programs are available compiled and with
sources (note that these files are not part of EMX):

  • gcc, the GNU C compiler
  • gas, the GNU assembler
  • gdb, the GNU debugger
  • ld, the GNU linker
  • ar, nm, size, strip, objdump: some GNU utilities for dealing with binary
    files
  • Patched source for gcc, gas, gdb, ld, ar, nm, size, strip, objdump. You can
    compile all these programs with the files that come with emx (but you also
    need a make utility, such as NMAKE)

So this pretty much sums it up.  I went ahead and extracted the ZOOs and placed a copy on my site: emx08b_extracted.7z  Although I don’t think anyone really cares about ancient versions of GCC on OS/2.

Digital teamlinks demo diskette

I recently got some old diskettes, and sure enough I was lucky to find this gem a ‘virus free’ disk, the Team Computing demo disk.

Vintage 1992!
Vintage 1992!

So naturally it’s MS-DOS based, as that is all that was left in the early 1990’s.

logo
logo

And it’s chock full of vintage networking pitches, as Digital was trying desperatly to get people to buy their Enterprise software for being that all in one of file/print sharing, email and business process automation.

Digital networking
Digital networking

So 1990’s.

Teamlinks workflow
Teamlinks workflow

And of course it touts over and over again ‘open standards’ although I’m suspecting none of them really are that open, nor surviving.

Teamlinks over the world
Teamlinks over the world

Did it go anywhere?  Did anyone actually use it?

It sounds like a somewhat useful all in one thing that I’m sure cost far far far too much money.  And of course, in 1997 there was Microsoft Exchange 5.5 which basically killed everything.

I’ve only found a copy of Pathworks 7.1a on Ebay many many years ago, which I’ve used to get Windows NT onto Hecnet.  That’s as much ‘Digitial for Windows’ software as I’ve used.

For anyone so inclined, you can download the demo files teamlinks.zip

Cross GCC from Windows to AmigaDOS

GCC 2.7 to AmigaDOS 2.04
GCC 2.7 to AmigaDOS 2.04

Yes, I know there are others.  Newer versions of GCC too!.. but I was more so curious to see if I could do it.  I know there were GCC 1.x ports to the Amiga but I can’t find source anywhere.  And for some reason the Amiga and Atari ST seem to have never been mainlined into GCC.  I would have thought 1990-1992 they would have had far more users than say SUN-2/SUN-3.

Some ‘fixes’ are described in this file:

https://raw.githubusercontent.com/sdenel/How-to-install-SimpleScalar-on-Ubuntu/master/Install-SimpleScalar.sh

Although it’s not 100%.

I downloaded the files mentioned on this GCC page, and started to massage stuff.  This was easier as GCC 2.7 & Binutils 2.8 both support Windows NT 3.5 (and much much higher!).

I may want to try to get an ancient Nethack to build, so I put it onto sourceforge…

win32-amigados_hello.7z

I’ve just tested a hello world type executable.  I’m more so amazed that it linked and executed, ‘file’ detects the objects as

x.o: raw G3 data, byte-padded

But at least the executables look right:

hi: AmigaOS loadseg()ble executable/binary

I had to hack all kinds of crap compiling eamiga.c
and eamiga_bss.c as neither generated correctly, and both had all kinds of missing and undefined things.  I’m sure on bigger projects it’d just explode, but right now I’m just amazed the linker could pick up my object, plus the 21 year old objects + libraries from that aforementioned ancient GCC port.

Oh well I was entertained for a couple hours.

On the talk of Europe & Tapes…

I recently discovered this youtube channel by Kim Justice.  She does quite a few video documentaries about retro games, and the like.  I found these two quite interesting:

The history of US Gold was quite interesting, along with her documentary on Ocean

And of course this video about the ZX Spectrum tape wars.

I had a Commodore 64, and although I did have a 1541 disk drive first, I did later manage to get a datacasette, and on rare occasion I would pick up a Zzap64 and did quite enjoy the whole idea of a covertape.  The tradition continues in the UK & EU with cover discs, which I pick up on occasion in Hong Kong.

NOS clone datassettes!

New old stock, still in shipping boxes!

327 devices!
327 devices!

I found this eBay auction, and couldn’t believe what they had unearthed!  Boxes and boxes of these clone datassette!

New old stock
New old stock

Obviously the perfect thing for any retro Commodore user!  And as you may know in Europe most people used tapes, while us North Americans all used disk drives, namely the mighty 1541.

As of me writing this there is only ONE left!  It’s not my auction, and I have nothing to do with them, but this is your big chance to get one if you want one!

***EDIT

Well it turns out the last unit has just been sold.  Too late to post it seems.