Peter's z80.eu site blog
Evolution of vintage PC chess programs (until VGA was used) PART 2 
Saturday, July 2, 2016, 05:30 PM
Posted by Administrator
1983 was the year Chess Partner was created.

Although the graphics was a bit like the VCS 2600 games, it uses color, but it's definitely not the best one at the time it was published.

Then in 1984, Chess 88 arrives, and it plays well (and still on the first IBM PCs).


Also in 1984, MyChess was available - looks great even in 2D (pieces were represented in a pseudo 3D look). Still no need for EGA or even VGA:


And very famous, Sargon III enters the scene in 1984, finally, for the PC too.


Cyrus looks *very* nice in (EGA) 3D mode, although it was not really strong. Created in 1985:


"related link" leads to an entry of a chess program wiki about MS-DOS versions.

Continued in PART 3.
2 comments ( 36 views )   |  permalink   |  related link   |   ( 3.2 / 371 )
Evolution of vintage PC chess programs (until VGA was used) PART 1 
Saturday, July 2, 2016, 01:00 PM
Posted by Administrator
Before MS-DOS, CP/M rulez. And there were some chess programs like Sargon already.
A book for Sargon was published in 1978.

Unfortunately CP/M does not support graphics by default (GSX was not widely used!).
So the time for (serious) chess programs start with the birth of the IBM PC.
At the beginning, there was a chess program named "chess" (not very inventive):

It was originally written in BASICA, but it's usually found as a compiled executable only.

Later, in 1982, Psion 1 was published, and it has already nice (CGA or HGC) graphics.

One year later, Bluebush arrived the PC market, not really a strong chess game, but also has a nice look.


Look at "related link" for the BASICA (source) version of CHESS1.

I will continue this in PART 2.

add comment ( 26 views )   |  permalink   |  related link   |   ( 3.2 / 320 )
Less known, but very intesting for your vintage PC: PTS-DOS 2000 
Sunday, June 19, 2016, 05:00 PM
Posted by Administrator
I've added a static page for my web site z80.eu, see http://www.z80.eu/ptsdos.html

The PTS-DOS 2000 would be an ideal base for your vintage PC, has additional commands compared to MS-DOS 6.22, is much faster, and some features you will love (e.g. DEBUG command looks much more usable). The DEMO of PTS-DOS 2000 can be patched easily, so there is also no time delay anymore. It has a GUI which is much better than DOS Shell, and can be used instead of Norton Commander.

Check it out.

add comment ( 31 views )   |  permalink   |  related link   |   ( 3.2 / 1264 )
Rare CPU: IBM 386SLC , similar to an Intel 386SX, but with 8KB cache ... 
Sunday, April 24, 2016, 02:45 PM
Posted by Administrator
IBM introduced a meanwhile very rare CPU in 1992, starting with IBM PS/2 models and also with PS/Valuepoint computers.
This CPU was an attempt to create a cheap but for its price powerful CPU, which can even used as an Upgrade for Intel 286-based AT machines.

You can't read much about the ability of the CPU, the Wikipedia entry isn't very detailed.
I got a PS/Valuepoint 325T, which has such a CPU. But even the BIOS of the machine does not offer any option for enabling or disabling that level 2 cache.
The CPU is *NOT* Cyrix CPU compatible.

I've found an utility named CTCHIPZ (last version "34") and tried the "IBM486.CFG" to change the processor operation register. This doesn't work obviously, see the picture, although I was able to show the register values...


Still looking for more infos, if anybody has them, try to contact me please.

add comment ( 41 views )   |  permalink   |  related link   |   ( 3.2 / 330 )
Programming a BASIC game - still fun, even with a vintage PC/XT 
Tuesday, March 15, 2016, 10:00 PM
Posted by Administrator
Yes, it can be still fun, although you should not try to program too large programs in BASIC.

I remembered these racing game tries of the first microcomputer days, without any high res graphics, just characters. So I tried to program a small game in less than 1KB source code.
That's the result:

10 DEFINT A-Z:RANDOMIZE TIMER:D!=TIMER:S=RND*40!+20:C=S+4:O=C:CLS
20 LOCATE 11,1:FOR I=1 TO 12:PRINT SPC(S);"|";SPC(10);"|":NEXT I:Z=0:V!=.3
30 R=RND*7:IF R<3 THEN M=-1 ELSE IF R=3 THEN M=0 ELSE M=1
40 LOCATE 2,1:PRINT "SCORE";Z;" Vmax:";310-CINT(V!*1000!):S=S+M
50 LOCATE 23,1:IF S>58 THEN S=58 ELSE IF S<1 THEN S=1
60 PRINT SPC(S%);"|";SPC(10);"|":PRINT:Z=Z+10:T=SCREEN(10,C):LOCATE 10,C
70 PRINT "*";:LOCATE 9,O:PRINT " ";:IF T<>32 THEN LOCATE 3,1:PRINT "CRASH!"
80 IF T<>32 THEN SOUND 37,5:LOCATE 23,1:END ELSE O=C:IF TIMER<D!+1 THEN 110
90 IF V!>.1 THEN V!=V!-.01 ELSE IF V!>.05 THEN V!=V!-.005 ELSE V!=V!-.001
100 D!=TIMER:SOUND Z/10+100,2:IF V!<0 THEN V!=0
110 K$=INKEY$:T!=TIMER+V!:WHILE TIMER<T!:WEND
120 IF K$="" THEN 30 ELSE IF K$="n" THEN C=C-1 ELSE IF K$="m" THEN C=C+1
130 IF K$="q" THEN LOCATE 23,1:END ELSE 30:REM WRITTEN BY P. DASSOW

And that's how it looks:


If you would say "that's not coded perfectly", that's true, but some strange things like two IF branches with the same condition - see line 70 and 80 - are done just because to get less lines and having still a line length < 80 chars. It is programmed CPU speed "independent" (means delays are timer based).

This is a version with more lines, but somewhat speed optimized:

10 DEFINT A-Z:RANDOMIZE TIMER:D!=TIMER:S=RND*40!+20:C=S+4:W$="|"+SPACE$(10)+"|"
20 CLS:O=C:LOCATE 11,1:FOR I=1 TO 12:PRINT SPC(S);W$:NEXT I:Z=0:V!=.3
30 R=RND*7:IF R<3 THEN M=-1 ELSE IF R=3 THEN M=0 ELSE M=1
40 LOCATE 2,1:PRINT "SCORE";Z;" Vmax:";310-CINT(V!*1000!):S=S+M
50 LOCATE 23,1:IF S>58 THEN S=58 ELSE IF S<1 THEN S=1
60 PRINT SPC(S%);W$:PRINT:Z=Z+10:T=SCREEN(10,C):LOCATE 10,C
70 PRINT "*";:LOCATE 9,O:PRINT " ";:IF T=32 THEN O=C:IF TIMER<D!+1 THEN 110 ELSE 90
80 LOCATE 3,1:PRINT "CRASH!":SOUND 37,5:LOCATE 23,1:END
90 IF V!>.1 THEN V!=V!-.01 ELSE IF V!>.05 THEN V!=V!-.005 ELSE V!=V!-.001
100 D!=TIMER:SOUND Z/10+100,2:IF V!<0 THEN V!=0
110 K$=INKEY$:T!=TIMER+V!:WHILE TIMER<T!:WEND
120 IF K$="" THEN 30
130 IF K$="n" THEN C=C-1:GOTO 30
140 IF K$="m" THEN C=C+1:GOTO 30
150 IF K$="q" THEN LOCATE 23,1:END
160 GOTO 30:REM WRITTEN BY P. DASSOW

Now imagine to spend additional 4 hours of testing and programming, and see the results:






I added a title screen with explanations, a bit more color, some random grass, a more sophisticated curve algorithm to have a more sinuos course, and also high score saving.

There is still a problem with the TIMER variable, if speed reaches the value 307, subtracting TIMER with very small values will result in inaccurate behaviour of the car on the street (it warps forward until it crashes).
This is surprisingly NOT the case if you execute the program on a slow PC/XT or an AMSTRAD PC 1640 for example. On such a slow computer, you will reach the highest possible speed of 310 without problems.... strange, isn't it ?

The versions:
The original first BASIC source code
The compiled first BASIC version, DOS compatible
The original first BASIC source code, optimized
The compiled and "improved" BASIC version, DOS compatible
The compiled and "improved" BASIC version, OS/2 compatible

Compiled versions are for 286 based PCs and older. Source can be run with an BASICA/GWBASIC interpreter from 386 up to a modern PC, if DOS (or DOSBOX) is used.

See related link for the WINDOWS 7 compatible QB64 compiled and "improved" version.
If you're curios about the source code of the "improved" version, please send me a mail, and you will get the source code (2.5 KB and still BASICA compatible) of it also.
add comment ( 51 views )   |  permalink   |  related link   |   ( 3.2 / 2162 )

<<First <Back | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Next> Last>>