Wednesday 30 May 2018

the Atari colours

; simple static colours
; colours.spudge
proc spudge() {
    repeat {
        colbk = vcount <<< 1
    }
}

or make it move...

; moving colours with a VBI
; coloursMove.spudge
proc spudge() {
    ; install interrupt to scroll the rainbow
    replaceDeferredVBI(rainbowVBI)

    repeat {
        wsync = 0
        colbk = rainbow + (vcount <<< 1)
    }

    ; flip the VBI back to where it was
    restoreDeferredVBI()
}
; a simple VBI to scroll the rainbow
byte rainbow
proc rainbowVBI() vbi {
    if !(%11 & jiffy) { ; scroll every 4th frame
        rainbow += 1
    }
    exitVerticalBlank   ; special VBI exit
}



hello world.spudge

proc spudge() {
    print('hello world?')
}

spudge initial release (0.767)

it's finally here!
the first public release of spudge a new Atari 8 bit programming language

see the previous spudge pre-announcement for the 'rationale' for behind this

here's a zip containing the current (alpha) version along with some documentation and example code
spudge0767-2018-05-30.zip

It has mostly been developed on Windows, but it should run on Linux and Mac OS X too.

how to install
1) unpack the archive as the spudge directory in your home directory
2) copy (from the spudge/bin directory) the spudge.bat (for Windows) or spudge (MacOSX, Linux) file somewhere on your PATH and make executable
   (chmod +x on MacOSX, Linux)

perl 5
spudge requires perl 5, install it if required
on Windows 10 I use Strawberry Perl (5.26 http://strawberryperl.com)
on Linux and MacOS X it's probably already there
any recent version (5.18.2 and 5.26 tested) will probably be OK

MADS
spudge uses mads to assemble the assembler code
install somewhere on your PATH
  http://mads.atari8.info/

how to run
1) open a command shell in your source directory
2) spudge -h

here is a tests directory in the spudge installation which may be a good place to start
      spudge -c hello-world.spudge

an alternative Wally's Folly

1947 Roadster "Wally's Folly"

spudge 0.767 has been chosen as the initial public release

It's nearly ready...
hopefully released before the end of May...