A jigsaw puzzle game

A game made in GFA Basic 3.6 TT. I got the idea for this game in 1995. The code from 1995 was for 640×480 in 16 colours because I couldn’t get the GFA editor running in higher colours then. The code was abandoned soon because I was not satisfied by the 16 colours.

I recently discovered how to get GFA basic running in 256 colour mode with Bastard from Run! software. http://www.run-software.de/bastard.php

After some time I managed to get 256 colour pictures with GFA basic on screen. Now was time to go back to the Jigsaw puzzle game!

This replacement PUT procedure uses GEM mfdb to put a “sprite” image block on screen.

Some checks are remarked out or simplified to enhance the speed a little bit.

> PROCEDURE put(x&,y&,a%,m&)
  $X put
  LOCAL w&,h&,s.mfdb%,d.mfdb%
  '   IF WORD{a%+4}=WORD{LONG{GB+4}+20} !blk planes matches scrn planes?
  INLINE s.mfdb%,20
  INLINE d.mfdb%,20
  w&=WORD{a%+0}
  h&=WORD{a%+2}
  LONG{s.mfdb%+0}=a%+6
  WORD{s.mfdb%+4}=w&
  WORD{s.mfdb%+6}=h&
  WORD{s.mfdb%+8}=SHR&(w&,4) !\16
  WORD{s.mfdb%+10}=0
  '  WORD{s.mfdb%+12}=WORD{a%+4}
  WORD{s.mfdb%+12}=8        ! bitplanes
  LONG{d.mfdb%+0}=0
  WORD{d.mfdb%+4}=WORK_OUT(0)+1
  WORD{d.mfdb%+6}=WORK_OUT(1)+1
  WORD{d.mfdb%+8}=SHR&(WORK_OUT(0)+1,4) !\16
  WORD{d.mfdb%+10}=0
  '  WORD{d.mfdb%+12}=WORD{a%+4}
  WORD{d.mfdb%+12}=8        ! bitplanes
  CONTRL(0)=109
  CONTRL(1)=4
  CONTRL(3)=1
  CONTRL(6)=V~H
  LONG{CONTRL+14}=s.mfdb%
  LONG{CONTRL+18}=d.mfdb%
  INTIN(0)=m&
  PTSIN(0)=0
  PTSIN(1)=0
  PTSIN(2)=w&-1
  PTSIN(3)=h&-1
  PTSIN(4)=x&
  PTSIN(5)=y&
  PTSIN(6)=x&+w&-1
  PTSIN(7)=y&+h&-1
  VDISYS
  ' ENDIF
RETURN

DMA sound was added with the help of an old listing from a dutch magazine and the explanation of the xbios functions in the book “Das Buch zum Atari Falcon030”, which is one of only 2 specific Falcon030 books I know of. The other one I think it was called “Atari Falcon030 Dream machine” I do not own.

This book is interesting because it has clear explanation of the XBIOS functions, hardware, AES 4.0.

For example:

In GFA you can create a sndstatus function which calls XBIOS (0x8c)

DEFFN sndstatus(a)=XBIOS(&H8C,a)

It gets the actual status of the codec and can reset it.

input a=1 reset the codec

You can call the function like this to reset the codec:

~@sndstatus(1)  
DEFFN sndstatus(a)=XBIOS(&H8C,a)

A more complete procedure to reset the Falcon sound system.

It sets volume and such with soundcmd, XBIOS (0x82)

> PROCEDURE reset_sound_system
  ~@sndstatus(1)
  ~@soundcmd(ltatten,prv_snd_state(ltatten))
  ~@soundcmd(rtatten,prv_snd_state(rtatten))
  ~@soundcmd(ltgain,prv_snd_state(ltgain))
  ~@soundcmd(rtgain,prv_snd_state(rtgain))
  ~@soundcmd(adderin,&H1)
  ~@soundcmd(adcinput,&H0)
DEFFN sndstatus(a)=XBIOS(&H8C,a)
DEFFN soundcmd(a,b)=XBIOS(&H82,a,b)

CosmosEx

Yes today my CosmosEx arrived.

CosmosEx

CosmosEx is a multifunctional device, built around a Raspberry Pi, which connects to the Atari ST, Ste, TT or Falcon series of computers. It emulates Atari floppy and harddisk devices with modern sd cards, downloadable floppy disk image files and even network shares. It is much more than that. It also adds USB keyboard, mouse and joystick support to your Atari. The CE extracts zip files for the Atari and expect additional features from software updates. The CE is as big as a floppy disk drive and can be used as external or internal device. It should fit easy in my DeskTopper.

My CosmosEx works creates as a P: folder on the Atari desktop. The contents of the P: is a share on a linux server. This is perfect for creating backups to server, NAS or the internet. Also on my Windows pc I can use this share at the same time as the Atari.

The CE also works as a gateway to the internet. It replaces the well known Sting TCP/IP stack with a “fake” Sting. Sting compatible software can be used this way over the CE network connection.

SLM804

Let us look under the dust cover.

The printer had no internal memory or cpu, it used the computers memory with a DMA interface. At the time of release, 1987 RAM was expensive. That is why these printers were cheap compared to ordinary laserprinters but it is also the reason why they printed faster than their concurrents. The interface is fast and the ST had a faster processor to render the image than most printers of the time. A speed of 8ppm at 300 dpi could be achieved text or graphics, the bottleneck was the rendering speed and memory of your ST.

What we see here is the Falcon030 Heatseaker interface for the SLM804 Laser. It connects to the DSP port of the Falcon030. On the ST the printer used the SLMC804 interface on the ACSI port. The Falcon printed even faster because of  a different interface and greater speed of cpu and memory.

Lets take a look inside the printer. The green roll is the drum. No scratches should be on it. It still looks alright.

 

ATARI computer world in 2016

I am re-entering the ATARI computer world in 2016.

Where did I leave it behind? Somewhere around 1999 I think. The Windows pc had become too important in my work and life. Windows 2000, XP and more followed. At the end of 2015 I completely lost the fun of using these so called modern computers. Is there anything else than internet watching on a pc or tablet? Time to get back to basics. Back to the Atari’s.

On the Atari ST and Falcon030 I was always busy creating things. Programs, music, graphics. I remember the fun and enhausiasm. I want it back.

I still have all my old computers. From the 800XL to STfm and the Falcon030. In the nineties I also collected some other formats like ZX Spectrum, QL and and MSX and some game computer systems. The Atari’s always were my main computers systems in the past.

So there it is the Falcon030 reconnected and running a game I coded around 1995. Reading the GFA Basic sources gets my memory back very fast. What is it fun to create something even if it is simple or not to modern standards.

It looks like many people still use their old computers. Some people call it retro-computing, some people call it different or nerdy or fun.

Found the old documents with ideas and sources for this and other projects. That makes it easy to start programming on the Atari again.

Back in the eighties and early nineties there was no Internet. All my knowledge came from magazines, public domain diskettes and reading books, many books. I still find it easier to learn from a printed book then from the internet. The internet is always new and endless and good for sharing, but many times you get lost on it and you will loose your concentration on the subject you were looking for.

I used an Atari SLM804 Laser printer for printing at the ST and Falcon. At the Falcon I got a special interface called Heatseaker. It looked like a small black box and it replaced the ST interface and was connected to the dsp port of the Falcon030. It must be here somewhere. It could come in handy because it was very fast. I wonder if the SLM804 is still ok after more than 15 years of doing nothing.