Computing from the Old Days, brought back to life

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Computing from the Old Days, brought back to life

Post by sje »

Back in 1976 I built an Intel 8080 computer form a kit and did about as much that could be done with only 4 KB memory and no budget for peripherals.

Thirty six years later, I've just ordered an replica/emulation of the original MITS Altair 8800.

Image

Now if I can just find the source for my original eight bit chess program. :D

See: http://www.brielcomputers.com/wordpress/?p=328
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: Computing from the Old Days, brought back to life

Post by stegemma »

In Sinclair and Commodore computers there were a way to code in assembly using BASIC code (via Poke), maybe even the Altair has something similar? I think that the Drago sources can help you, if you don't want to code in BASIC. They are 8086 Intel assembly, i don't know if you can easly port that code to 8080 CPU but that project could be interesting.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Computing from the Old Days, brought back to life

Post by sje »

The original Microsoft Basic, Microsoft's very first product, was written for the eight bit Intel 8080 CPU and the Altair 8800 was the first enthusiast machine to use the 8080 chip.

My first "full" chess program was written in assembly language more than 30 years ago for the Zilog z80, and I am glad that I lost the source long ago because it was awful. The chip's instructions were a superset of the Intel 8080.

There were few 16 bit instructions in either chip, and these were used mostly for pointer manipulation. There were no multiply or divide instructions and no variable shift or rotate instructions.

Watching the front panel lights was something like looking at steady lights through boiling water. An experienced observer might be able to tell which routines were being run just by seeing patterns in the flashing lights of the address and data buses.
jdart
Posts: 4397
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Computing from the Old Days, brought back to life

Post by jdart »

My first personal computer was a Heath H-89, based on the Z-80. I wrote a word processing program for it that was sold commercially for a while.

Going back a little farther, I used a PDP-11 during a stint at JPL. Like the Altair, it had toggle switches and blinking lights. And in my teens, I had access to a university IBM 370 and did some punched card programming on it, in FORTRAN. Not chess, though.

--Jon
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Computing from the Old Days, brought back to life

Post by bob »

stegemma wrote:In Sinclair and Commodore computers there were a way to code in assembly using BASIC code (via Poke), maybe even the Altair has something similar? I think that the Drago sources can help you, if you don't want to code in BASIC. They are 8086 Intel assembly, i don't know if you can easly port that code to 8080 CPU but that project could be interesting.
The altair had no operating system. You used a cassette tape via a modem to load the basic interpreter, or whatever you wanted. It was a BAREBONES system...

To boot the interpreter from tape, you got to flip front panel switches for about 10 minutes to load the binary instructions by hand that would then read in the real loader program from cassette which would then read in the interpreter...

Lots of fun. I built one myself... The modem / cassette interface was a royal pain in the ass, as it was sensitive to volume level among other things...
Joost Buijs
Posts: 1625
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: Computing from the Old Days, brought back to life

Post by Joost Buijs »

My first computer was a Heathkit H8 with 16 kB memory and 2 cassette decks. On this machine I developed my first chess-program, written in 8080 assembler. I still remember it playing it's first moves in januari 1978.

After this I also got a Heathkit H89. At that time I was working for Heath in the Netherlands, this enabled me to get these machines at first hand.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Computing from the Old Days, brought back to life

Post by Don »

bob wrote:
stegemma wrote:In Sinclair and Commodore computers there were a way to code in assembly using BASIC code (via Poke), maybe even the Altair has something similar? I think that the Drago sources can help you, if you don't want to code in BASIC. They are 8086 Intel assembly, i don't know if you can easly port that code to 8080 CPU but that project could be interesting.
The altair had no operating system. You used a cassette tape via a modem to load the basic interpreter, or whatever you wanted. It was a BAREBONES system...

To boot the interpreter from tape, you got to flip front panel switches for about 10 minutes to load the binary instructions by hand that would then read in the real loader program from cassette which would then read in the interpreter...

Lots of fun. I built one myself... The modem / cassette interface was a royal pain in the ass, as it was sensitive to volume level among other things...
I lost a disk once in a DEC system and had to key in the boot loader from a hex keypad and toggle switches - a small program that provided a way to read from the tapes so that I could restore the disk. Same exact concept. I was in a panic and had to dig through manuals to figure this out (and find the boot-loader program) as important company data was on the disks and losing it was my fault! I never told anyone what had happened until now.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

My upcoming 8080 chess program

Post by sje »

Some thoughts on a proposed assembly language chess program for an Intel 8080 CPU:

1) The target machine, a Briel Computers Altair Micro 8800 has 32 KB RAM, more than the typical enthusiast machines of the Old Days which usually had 4 KB to 16 KB RAM.

2) Eight bytes for a move: from/to squares, from/to men, flags, more flags, and a 16 bit centipawn score.

3) A move has four flags for SAN encoding; a move can be encoded into SAN without having the board present.

4) A move has three flag bits to cover regular/ep/castling/promotion status (eight cases).

5) A move has nine bits used (or reserved) for other flags.

6) The moves are generated and placed on a global stack which holds one leg of the search tree; 512 moves fit into 4 KB memory.

7) The search may go to 16 (maybe 32) ply; there is a ply indexed vector which holds data for each ply.

8) The search is not recursive; all search parameters have explicit storage and are not stacked.

9) Communication is done via the serial port, which may be emulated.

10) There are no assumptions about any file system or operating system.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Heathkit H89

Post by sje »

Image

Heathkit H89: http://oldcomputers.net/heathkit-h89.html

At the time the H89 was introduced, I considered buying one. But it was fairly expensive and there were some concern that the floppy drive was unreliable because of its proximity to the CRT electronics.
jdart
Posts: 4397
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Heathkit H89

Post by jdart »

I bought one because at the time it was one of the microcomputers with a 80x24 character display (that was a lot at the time!). But heat was a problem inside the case, especially if you started modifying it with some 3rd-party add ons. I had a RAM disk installed and a couple other goodies and then it was prone to overheating.

There is one of these in the Computer History Museum in Santa Clara, along with a lot of other neat things.

--Jon