CS1685:

So I’ve been playing with some C# in trying to mess with other stuff in some insane fun.  Anyways I was getting this weird compiler error trying to build my c# components:

warning CS1685: The predefined type ‘System.Func’ is defined in multiple
assemblies in the global alias; using definition from
‘c:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll’

Well that is strange.  Everything still worked, but I was getting screens full of this crap, so I was missing anything that didn’t build correctly from the CLI, so I had to find the source.  I found this nice tip, by adding the following into the source, and compile again.

System.Runtime.CompilerServices.ExtensionAttribute x = null;

And running the compiler (yet again), I got this:

c.cs(17,33): error CS0433: The type
‘System.Runtime.CompilerServices.ExtensionAttribute’ exists in both
‘d:\proj\zmq.net\b\System.Core.dll’ and
‘c:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll’
System.Core.dll: (Location of symbol related to previous error)
c:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll: (Location of symbol
related to previous error)

What is this? There is a System.Core.dll in my work area?

11/05/2010  09:53 AM           667,648 System.Core.dll

Sure enough, there it is.  I don’t know why it’s there, I don’t remember putting it there.  Even though I wasn’t directly referencing it, for some reason it was getting pulled in.

D:\proj\zmq.net\b>c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc c.cs /r:netm
q.dll
Microsoft (R) Visual C# Compiler version 4.0.30319.18408
for Microsoft (R) .NET Framework 4.5
Copyright (C) Microsoft Corporation. All rights reserved.

c.cs(17,52): warning CS0219: The variable ‘x’ is assigned but its value is never
used

Now I can delete the added line, and I’ll get a silent compile.

Yay.

Coherent sources released under a 3-clause BSD license

coherent

Print ad for Coherent

For those of you who’ve been living under a rock, or just not that familiar with what Coherent is, it’s a clean room re-implementation of version 7 Unix. What is unique about Coherent is that AT&T sent a team, which included Dennis Ritchie to evaluate the source to make sure that they hadn’t stolen Unix, and they concluded:

“that looking at various corners I couldn’t find anything that was copied.”

So Coherent was free to continue to sell their discount Unix like OS for the bargain price of $99 USD. I had plans on buying a copy as the older versions even supported the 8086, and 80286 however by the time I finally got enough RAM and disk space to make the purchase worth while, Linux was freely available. I believe that Coherent was the first OS to be killed by the Linux juggernaut, followed by SCO Xenix.

So it’s a little late to the party, open sourcing may have helped back in the early 1990’s although it’d seem like an utterly crazy move at the time.
Better late than never, this includes source dumps, and some RCS data, along with random tgz’s and a binary distribution of version 4. Without any doubt this will either help emulators better emulate the machine state Coherent expects, or perhaps fixing Coherent to run on more modern machines.

Coherent was also famous for it’s large, and well documented manual. Luckily the sources to the manual are also available.

So without further ado, here is the pages with the sources to coherent.

On final note of interest is that the Mark Williams Company was founded by Robert Swartz, who’s son Aaron was quite influential until the time of his death.

You ever get that feeling you’re going nowhere

And no matter what you are do, this program simply will not run?  You think it’s something platform specific since building it is such a major pain with so many moving parts that you are bound to screw something up.

CRASH!

CRASH!

And then, while looking at the call stack, something looks familiar: I’m crashing at the same place on two different platforms with two different compilers.

It isn’t much, but even consistency lets you know you’ve at least got that much going.

Its that time of the year again

provider issues….

Dear Customer,

In the past month we sent out a survey to our customers requesting feedback on the services you receive from us and in particular the location. We carried out this survey due to the situation we have with our current provider in Germany. We have been fighting long and hard in an attempt to rectify long standing issues with them with regards to stability and reliability. Instead of improving, the situation has become worse to the point where servers are randomly powered down because a DC technician has knocked a power cable out and hardware is failing with no replacements being actioned despite our requests. More recently, we’ve had issues with them working on their network and ‘forgetting’ to plug servers back in.

As you can imagine, this kind of service impacts greatly on you, our customers, and it’s not something we can continue to accept. Despite our best efforts a resolution with them has been unattainable so we have had to make the decision to move customers with immediate effect.

It’s really not their fault, so time to backup again, and get ready for the shuffle.

Maybe it’s time to move to CloudFlare.

Atari System V UNIX Saga – Part III – SCSI Disk Replacement

(note this is a guest post by Tenox)

In previous posts from ASV series I have explained why I got hooked on Atari System V UNIX and what I had to do to get a decent resolution out of Atari TT. Having built the VGA monitor adapter, the next challenge was to replace the internal SCSI hard disk with a flash storage of some sort. I really don’t like spinning hard disks and especial the old ones.

I have mentioned that there are two surviving ASV disk images. The better one was made out of a rather large old, loud and obnoxious Maxtor. I’m definitely not having this monstrosity inside of my beloved Atari!

Maxtor LXT340SY

Maxtor LXT340SY

 

So how can you replace an old SCSI hard disk with a modern flash device? There actually are several different ways.

If you have the money you can go industrial route, which is a SCSI disk replacement for various machinery and embedded systems produced by ReactiveData. You can buy one of these for a little over $1000 USD. The good part is that they substitute a specific real hard disk model and are exceptionally good in quality of emulation. However, spending a lot of money on my TT and TenoxVGA already, this really wasn’t an option without getting a divorce.

Another approach is to use SCSI to IDE bridge combined with IDE to CF adapter or possibly SCSI to SATA bridge and SATA SSD disk. These are widely used by Atari / Amiga / Mac 68k community. The most popular bridge come from a company called Acard. I actually had one of these at hand, AEC-7220U which I used for TOS/GEM work.

acard front

acard front

 

Did it work? As you can guess – of course it didn’t! The initial boot loader errors out unable to read disk capacity.

Atari SYS V failed to boot

Atari SYS V failed to boot

 

Atari ST/TT, somewhat similarly to 68k Macs require a hard disk driver, present on the hard disk itself. There are several 3rd party implementations, some of them, like HDDRIVER maintained up to present date. Unfortunately these drivers are TOS specific and obviously don’t work with Atari Unix. The system comes with it’s own hard disk driver which seems to be obsolete and with limited hardware support.

The next step was to research and try out some other SCSI to IDE bridges in hope one would just work. And surprisingly there are several to choose from.

The second on the line was I-O Data R-IDSC21-E/R. No longer produced and supported, however still fairly popular. Usually regarded as the ultimate bridge with most fancy options bells and whistles. It has most jumpers and modes of all tested devices. For instance ATA PIO and DMA modes.  Unfortunately this didn’t help at all and same error was observed.

idsc21e

idsc21e

 

Another device tried was Yamaha v769970. This bridge was conceived to allow use IDE CDROM and Hard Disks with Yamaha samplers. No longer produced and obsolete, it’s somewhat most easy to set up, robust and stable. It’s actually my favorite bridge for day to day use, except for ASV where it just doesn’t work.

v769970

v769970

 

More recent kid on the block is an integrated SCSI2IDE + IDE2CF in one device called Aztec Monster. Recently designed and currently produced in Japan (you can buy one on eBay) is a fairly decent choice, which I recommend to every one. I had a lot of luck with these, except for ASV of course…

CF_AM_r1_1

CF_AM_r1_1

 

I also looked in to SCSI to SATA bridges, like this one, but they have additional issues, like need to convert LVD to SE on one end and SATA to IDE to CF on the other. Little bit too complex for what I wanted.

Being out of luck I started researching if it would be possible to build an open source version, which can be easily diagnosed and fixed. Doing so I found out that there in fact is one open source SCSI adapter called SCSI2SD.

SCSI2SD_V3.0_plain

SCSI2SD_V3.0_plain

 

I was bit skeptical in the beginning but then I though that being open source it can be debugged and fixed if it needs to be. So I immediately ordered one.

Once it arrived, I plugged it in, applied the image to the card and BAM! It worked! The system booted fully and worked flawlessly!

Atari Unix System V – Boot Sequence from Antoni Sawicki on Vimeo.

 

Over time SCSI2SD proven stable and flawless. One feature that Mac users will appreciate:

--apple Set the vendor, product ID and revision fields to simulate an
        apple-suppled disk. Provides support for the Apple Drive Setup
        utility.

In the next article I will write about my first steps in the system post boot and then bringing it to a more or less usable state. Stay tuned!