Topic: Retro

Microsoft Basic, Computer Archeology

Visitors of my Retro website may have seen a copy of Microsoft Basic for the KIM-1, the KB9 version online. Not only the original tape in binary format, also the small user guide that was delivered with it.

This Microsoft Basic for the 6502 is one early member of the family of Basic interpreters for the 6502 produced by Microsoft in their early days. Also the Apple II and Commodore machines and many more had this interpreter and an extension to function as an operating system as Basic. Paul Allen, Monte Davidoff, ill Gates, Richard Weiland and Marc McDonald are persons in the Microsoft company that contributed to this interpreter.

Michael Steil, who blogs at http://www.pagetable.com, refers to my online files while explaining not only the history and timeline of these Basic interpreter versions, but also publishes the commented source.

By using conditional assembly one can recreate seven OEM versions, not only KIM Basic KB9.

  • Commodore BASIC 1
  • OSI BASIC
  • AppleSoft I
  • KIM-1 BASIC
  • Commodore BASIC 2 (PET)
  • Intellivision Keyboard Component BASIC
  • MicroTAN BASIC

It feels good to see the KB9 files on my site to have been of use for Michael, since he refers to the files on several places.
Quite amusing is the search for the famous Easter Egg in all these Basics (type WAIT 6502,1 and see ‘MICROSOFT!’ printed).

MSX Info Pages and FUNET archive have a new home

The info on MSX, that I keep online since 1998 (yes, it will be 10 years soon!), has found a new home.

The domain retro8bits.com is now mine, and I have used http://msx.retro8bits.com/ to store the MSX Info and added the FUNET archive to it.

The main site forwards visitors to there.
This was the opportunity to move from hand-coded html to a CMS, so this is a CMS Made Simple based site now, with a heavily adapted theme (white, blue, no extravaganza). No real new content except the FUNET commented archive lists. The Search function will proof to be handy.

MSX Info at retro8bits

6502 cpu in TTL and EPROMS

You can still buy 6502 CPU, NOS (new old stock) and even new form Western Design Center.

Or do what Dieter Mueller did: take some common TTL IC’s, combine it with EPROMS fileld with micro code, a couble of Euro PCBs and you have build your own 6502!

Retro website and forum, CMS Made Simple and PHPBB2

I like small computers, especially the SBC (Single Board Computer) type.

These SBC’s give you a direct contact with the hardware, simple enough to understand all what is happening. It once started with the KIM-1, a true SBC of the early days. So in my collection the SBC’s, especially the 6502 based, have a special place. Junior, Micro-KIM, Apple 1 Replica, A-ONE, all variations on that theme.

The domain hansotten.nl gives me nearly unlimited access to subdomains, so I combined my love for SBC’s and my love for web publishing:

  • the url retro.hansotten.nl  host a site devoted to the SBC. Build with CMS Made Simple, in a dark layout.
  • a Retro forum in a style that goes well with the website is added, a PHPBB2 implementation. So now also interactivity in my websites! 

Both CMS Made Simple and PHPBB2 have proofed to be quality tools, allowing to build this  website in a very quick way.

Please visit my new initiative!

Micor-KIM

A-One, another Apple 1 clone

There are several Apple 1 clones made! The Replica-1 by Vince Briel is the first to apply modern components to replace the hard to get and therefore expensive components, like the Signetics 2513 and such, with modern microprocessors  emulating the terminal part. I found another one, with a dutch background, manufactured and sold by Achatz Electronics, the A-One. The design of this clone is similar: the terminal part is replaced by (this time two) microcontrollers, for video and serial interface.

Some differences between the two designs:

  • The A-one is even more compact, less IC’s
  • Has a real Apple 1 slot instead of the pinheader on the Replica-1
  • No parallel keyboard interface on the A-One
  • Selection of NTSC or PAL on the A-One
  • The Replica-1 has USB also functioning as power supply as an option 
  • The Replica-1 has an AT(X) power connector, required for the -12V of the serial Apple keyboard
  • The forum of Briel Computers for the Replica-1 gives good support for the community

A-One standard    A-One prototype

Achatz Electronics also sells a prototype board, or a breadboard prototype board.

What really made me buy the A-One also, is the A-One Extended version. The extensions on the standard A-One are a large breadboard and three Apple 1 slots. Together with the breadboard prototype board this make it quite an impressive system to develop hardware for 6502 systems.

A-One extended

The design of the A-One is well documented and open: see the excellent website of WISclub member San Bergmans

My website in Elektuur

Elektuur EE Bouwdozen Hans OttenFor the second time the dutch magazine Elektuur (Elektor as it is called in other countries) has mentioned my website in an article devoted to retro electronics.

In the July/August issue, mostly about robotics, an article is devoted to Philips EE-Bouwdozen. In the Links my webpage on the ME1200, the first Philips Mechanical Engineer, is mentioned.

The previous time was in this article, about the Elektuur Junior Computer, in the january 2005 issue.

MSX SCC Mega Flash ROM

The Mega Flash SCC is a cartridge for the MSX with a flash RAM memory inside. So it can be used as a normal cartridge once a suitable program has been stored inside, also known as ‘flashing’.

MSX Mega Flash SCCThis kind of memory has become quite cheap lately and is a lot easier to work with than the now old-fashioned EPROM’s with UV light erasers and special hardware for programming. The SCC in this Flash module gives this cartridge something extra: the SCC is the music IC that is found in so many MSX Konami games.
And the SCC IC also provides a memory mapper to address all that memory inside the 512 KB flash memory.
Most people use this cartridge to play games, dumped from the original. Konami games of course function quite well in this SCC Mega Flash ROM!

The Mega Flash SCC is available from the designer and producer Manuel Pazos at
this url. At that location also the loader program OPF is available. a MSX DOS (2) program.Of course a MSX with a floppy drive or hard disk is required to use this loader program. As you can see, this is a professional designed and produced device!

MSX Mega Flash SCCI do not play games, but a recent development made me buy this device anyway. The talented dutch programmer Vincent van Dam made a utility to convert this device into a solid state, read-only floppy drive!
By hacking a diskrom (see the diskrom sources in the MSX software Info pages in such a way that sectors are read from this ROM instead of a floppy the MSX thinks there is a write=protected floppy drive attached with a program on disk.
Combined with compression it is possible to use this ‘diskdive’ without a real drive, quiet, cheap and easy to flash with another floppy disk image. Emulators make it easy to develop floppy images nowadays, the real MSX can be used to execute the program on floppy disk.

DSK2ROM is a package containing a custom diskrom which can be used to concatenate .dsk image to. The result will be a romfile. Additionally it contains a (pc) tool that can compress images to make them smaller, though the romfile alone is enough to do (uncompressed) conversions on any platform (including MSX-DOS2).

Pascal-M, software archeology

In 1978, via the KIM-1 user club, a Pascal compiler written by Mark Rustad, based on the P2 compiler, with a 6502 interpreter by G.J. v.d. Grinten, was given to me.
It was a complete package, on a KIM-1 cassette tape, and with rudimentary documentation. Quickly Micro-Ade, the invaluable assembler/editor, was enhanced to edit Pascal program source.

Pascal-M

The idea was great, the result was terrible: load Micro-Ade, edit a Pascal program, load the interpreter (4K), compiler (19K), compile the program, load the object, and run the program. Of course the compiler would find errors and then the editing and compiling cycle on a cassette based system could start again.
I did this several times and then gave up. No way a Pascal compiler was a viable option on a dual cassette player based KIM-1. The lack of a file system in the compiler even made it worse.
At that moment I was finishing my Masters at the VU university in Amsterdam, in Computer Science, and was introduced to Pascal. compilers, the VU Pascal compiler and that was very exciting. My good friend Anton Muller managed to get the sources of the compiler (in Pascal) and the interpreter (assembler), all on paper photocopies and it was exciting to study those.
Alas, I could not do anything useful with all this,  and so I stored paper and cassette tapes away.

In 1983 I joined Digital Equipment as system programmer and had access to first the PDP-11 RSX-11M Pascal compiler and a bit later the first versions of VAX/VMS Pascal. And now things were possible that made me return to the Pascal-M compiler: cross-compile on VMS and run on the KIM-1! I had sources, so I spent all my lunch hours typing in the sources, compiling, testing, all possible on those excellent Digital machines! /br> In fact, it took me two years of lunch breaks to have the first working version of the PASCAL-M compiler on VMS, an interpreter/debugger in Pascal on VMS and an interpreter on the KIM-1. And with some VMS tools I could compile on VMS and load the program from cassette on the KIM-1. This is version 1.x of the PASCAL-M compiler, still mostly original as received form Mark Rustad en Willem v d Grinten, but completely embedded in the VMS - KIM-1 tool-bench.
Now the plans were made to enhance the KIM-1 with floppy disk drives and the compiler with a file system, already in place in the VMS version  compiler/interpreter.
Nothing like that happened though. CP/M (on the Spectravideo SVI-738) and and Turbo Pascal came along and I left the PASCAL-M compiler, together with all KIM-1 related work, alone to collect dust. Luckily most source files, living on the VAX/VMS system, made it to floppies on CP/M and later survived many PC changes. All paper of course was of course kept, I seldom throw something away!
In 2003 Ruud Baltissen (HCC Commodore GG) asked on Usenet about Pascal and 6502 and I remembered the PASCAL-M compiler. So I digged up the paper, and loaded the sources in what I had available then: Borland Pascal 7. And found out I could get the package working on that platform! Still fun. I was too bsuy to fire up the KIM-1. It still runs, but I have my doubts about the reliability of the memory IC’s. So it is not tested again on the real hardware.
That will change, as the micro-KIM is coming along! The perfect excuse to finally get this package working again and make it better.
Now here you will find the version 1 package. All is here to get a working PASCAL-M compiler/interpreter again. Either by cross-compiling (it is Borland Pascal syntax now, so FreePascal will compile on many platforms, MS-DOS executables are included). 6502 assembler sources are TASM (Squeek Valley) assembler sources. Or on the 6502 itself, the compiler can compile on the 6502, it can even compile itself on a 6502 (with enough memory!). 
The compiler is still very close to the P2 compiler, the original mainframe source is available in scanned format.

See here for sources, scanned original PASCAL-M compiler, documentation, tools , all what is needed to get it running now on a KIM-1 with extra memory!
For the micro-KIM project I will try to get all my new ideas implemented for a version 2. And make the cross-compile part less retro than MS-DOS ;)

Programming again: KIMPAPER

The micro-KIM made me start programming again! http://www.brielcomputers.com/ asked me  if I had a utility to convert from binary, like the KIM-1 programs on my website, to the MOS Technology paper-tape format that is understood by the KIM-1 monitor for loading programs.

And yes, such a utility once existed, written by me as part of a teminal emulation and loading/saving package on VAX/VMS. Long time ago (1985), VAX/VMS Pascal and I only have a not  source on paper.
So I started writing a program to be called KIMPAPER to convert between the MOS Technology paper-tape format and the not so intelligent BIN, a binary dump of memory. It will be a commandline utility, Turbo Pascal syntax, but compiled with FreePascal, so fit for Linux and Windows XP.
I am amazed how easy it goes. Must have been 10 years ago that I did some serious programming, I just crunch out good code. Only difference with old times is: these computers are now entertainment centers and are online, so mp3s, email, chats, Google, writing blogs, all those online things distract me from programming. And evenings were longer in the old days, I need my sleep now or else I will be a zombie in the day time at work. But it sure is fun!

Bummer is that I thought such a utility did not exist.   Wrong, Peter Miller (also known from my UCSD adventures) has made a utility called SRECORD to convert between various eprom programmer formats, and that includes the MOS paper format. But I kept on working on KIMPAPER, to make it simple to use and mine! You can find the utility including sources for Borland Pascal and Freepascal as commandline utility on the KIM-1 page

Micro-KIM will go into production!

micro-KIM

Some weeks ago I told you about the micro-KIM, a KIM-1 clone designed and to be produced by Vince Briel.

Update on june 2, 2007: the micro-KIM is available for pre-ordering! As a kit or as assembled and tested unit!

The KIM-1 pages on my website have been expanded a lot to prepare for the launch of the Micro-KIM.

I have ordered and received a micro-KIM< together with a 32K RAM expansion. The first batch had some PCB errors, easy to repair. This KIM runs all programs now, except for cassette audio  in/output.