Giter VIP home page Giter VIP logo

polymer-picker's Introduction

Polymer Picker

An arcade game for the BBC Microcomputer, with an ecological message.

About the game

This is a work in progress game, which was started in September 2021. Development has been sporadic. V0.06 is the first version to be published to Github. However, previous versions can be downloaded from the game's dedicated Stardot thread.

How to build from source

Although the disc image is included here, there are files included to help you build your own copy of the game. You will require the following:

On more recent versions of Mac OS, Beebasm must be rebuilt from source, in order to run in the 64-bit environment.

This repo includes the build process employed on my Apple iMac, which not only includes a build of BeebAsm, but the following tools/software:

VS Code's Tasks feature is employed to good effect here, by allowing a 'build' and 'test' task, the former runs the shell script build.sh which kicks beebasm, containing the following script:

beebasm -i Polymer-Picker.asm -do PolyPick.ssd -opt 3 -title PPicker

The Polymer-Picker.asm file consists of the following:

PUTBASIC "src/POLY1.bas","POLY1"
PUTBASIC "src/POLY2.bas","POLY2"
PUTTEXT "src/BOOT.txt", "!BOOT",&FFFF

This takes the files within the src folder, and outputs them in the correct format, prior to building the disc image.

The invocation of the bootfile, to make the disc autorun, was until recently, the missing element from making this disc image complete. This is due to BeebAsm's normal staple being the building of 6502 code files, invoked via *RUN. This approach doesn't work with BASIC files, as these are normally run with the CHAIN command, so it required a bit more Googling to find the correct way to build the bootfile for the game.

Essentially, the beebasm call includes the -opt 3 flag, that enables the disc image to be executable. The following line:

PUTTEXT "src/BOOT.txt", "!BOOT",&FFFF

within Polymer-Picker.asm, ensures the bootfile is created with the correct hooks to allow it to work.

The bootfile itself is fairly standard:

*BASIC
PAGE=&1900
*FX21
CLOSE#0:CHAIN "POLY1"

This boot content appears on a lot of disc images within the BBC Micro Game Archive's disc images, and basically ensures the computer, or emulator is all set up correctly, and has no 'open' files to corrupt disc images, prior to running the disc image. At least, that's what I believe.

I have not yet performed this build on the Windows platform, so I will be performing some further amends if the tasks.json file is not set up correctly.

Thanks for reading. I am really hopeful that this game will get finished in early 2022. In the meantime, I hope you enjoy what you find. All feedback is welcome.

polymer-picker's People

Contributors

sassquad avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.