Latest Entries »

Cubes Puzzle Game for iOS

Update 25/05/2019: New version 1.0.3 now available on the iOS App Store

Simulator Screen Shot - iPad Pro (12.9-inch) (3rd generation) - 2019-02-13 at 11.00.10

Cubes Puzzle launch screen

Cubes Puzzle is a geometric puzzle game where the objective is to rearrange the randomly generated cubes into a sequence of the same cube to score points and remove all of the cubes to complete a game level.

isometric block game ios app app store screen Simulator Screen Shot - iPad Pro (12.9-inch) (3rd generation) - 2018-12-24 at 12.42.34

– Tap a cube to “zap” it to remove and make room to move other cubes. Your score will be decreased when a cube is zapped.
– Move cubes by swiping a cube in the direction required to move either up, down or across.
– If the cube is unable to be moved, a buzzer sound will be heard.
– Swipe a sequence of the same cube either up, down or across to claim cube sequence bonus points and remove the cubes from the screen.
– The number of cubes required in sequence to claim points is shown by the sequence number at the top left next to the small cube icon.

isometric block game ios app app store screen Simulator Screen Shot - iPad Pro (12.9-inch) (3rd generation) - 2018-12-24 at 12.44.10

– Continue moving, zapping and claiming cubes until the game level is completed when all cubes are removed.
– The time remaining for the current player “life” is shown at the right of the screen and decreases over time.
– When time runs out, you will lose a “life”. The number of lives remaining is shown by the number in the heart icon at the top left of the screen between player score and game level number.
– When a game level is complete, your score will be increased by a level completion bonus based on the amount of time remaining. You will then advance to the next game level. There are currently 20 game levels to complete. Game level loops back to level one when all levels are completed.

isometric block game ios app app store screen Simulator Screen Shot - iPhone 8 Plus - 2018-12-24 at 14.06.05

– The number of cubes remaining in the game level is shown at the top right of the screen next to player high score.
– When you exit the Cubes Puzzle app, your high score and game level are saved on your device so that you will return to the start of the same level (with player score at zero) when the app is launched again.
– Display Game Center Leaderboard by tapping icon at bottom left of game screen (only displayed if player is logged into Game Center in iOS Settings)
– Game Center Leaderboard is also shown when game is over (if player is logged into Game Center)

Version History

v1.0 17/12/2018 – Initial Release

v1.0.1 29/12/2018 – Added Game Center support
Minor amendments to game levels

v1.0.2 14/02/2019 – Added Game Center Leaderboard icon at bottom left of game screen (only displayed if player is logged into Game Center in iOS Settings)

v1.0.3 25/05/2019 – Game Center High Score is updated on multiple devices (if player is logged into Game Center in iOS Settings)
Minor game screen placement improvements for devices with smaller screens
Minor audio improvements

Privacy Policy (iOS App Store Requirement)

Cubes Puzzle game does not use or store any User data. The Game Level and Game High Score data values are saved locally on the iOS device and are loaded by the game on launch. On v1.0.1 and later if Game Center is enabled on your iOS device and you are logged in, the Game High Score is submitted to the Apple Game Center server to appear on the Leaderboard when a new Game High Score is reached.

I found the original invoice and product leaflets for ZX Aszmic and SP ROM when cleaning out some old archive boxes at my parent’s place in the suburbs of Wellington, New Zealand. I have scanned and included them here for general interest.

Envelope for Comprocsys ZX Aszmic and SP ROM for Sinclair ZX81 16K

Envelope for Comprocsys ZX Aszmic and SP ROM for Sinclair ZX81 16K

Invoice for Comprocsys ZX Aszmic and SP ROM for Sinclair ZX81 16K

Invoice for Comprocsys ZX Aszmic and SP ROM for Sinclair ZX81 16K

Product Leaflet (outer) for Comprocsys ZX Aszmic ROM for Sinclair ZX81 16K

Product Leaflet (outer) for Comprocsys ZX Aszmic ROM for Sinclair ZX81 16K

Product Leaflet for Comprocsys ZX Aszmic ROM for Sinclair ZX81 16K

Product Leaflet (inner) for Comprocsys ZX Aszmic ROM for Sinclair ZX81 16K

Product Leaflet for Comprocsys SP ROM for Sinclair ZX81 16K

Product Leaflet for Comprocsys SP ROM for Sinclair ZX81 16K

 

Aszmic SP ROM External Card (front)

Aszmic SP ROM External Card (front)

 

Aszmic SP ROM External Card (back)

Aszmic SP ROM External Card (back)

 

aszmic SP ROM front IMG_0890 scaled 25pc

 

aszmic SP ROM back IMG_0888 scaled 25pc

mastering machine code spectrum toni baker disassembler opcode list xcode scaled 45 pc Screen Shot 2016-03-23 at 3.23.42 PM

Mastering Machine Code on your ZX Spectrum by Toni Baker – Chapter 17 Disassembling the ROM

Here is the source code for the disassembler from Chapter 17 of Mastering Machine Code on your ZX Spectrum by Toni Baker as a zasm .asm file which will assemble to a .tap file.

It is available as a .zip file here which contains the disassembler .asm source file for zasm assembler, the assembled .tap file and an Xcode project file.

A PDF of Chapter 17 is available here. It is 11.6MB and based on images of a hard copy of the book kindly supplied by Adrian S. (cmonkey at World of Spectrum forums)

The OCRed PDF of Mastering Machine Code on your ZX Spectrum by Toni Baker is available here.

zasm assembler is available here

Known issues (from the included README file)

Z80 NEG opcode currently disassembles as “C HL,BC”. This will be debugged and fixed in a future update.

The README file also contains details of the edits required to the OCRed PDF as checked against the image based PDF.

ZEsarUX.app aszmic sp rom extended hires test load binary h 4200 after reset Screen scaled 45pc Shot 2015-08-22 at 9.20.07 am

ZX Aszmic SP ROM Extended HiRes Graphics Demo

SP ROM programs can also be run in ZX ASZMIC debug mode Uncomment the –romfile option in the ZEsarUX Emulator config file to enable ASZMIC E07 ROM

$ pico ~/.zesaruxrc
--machine ZX81
--romfile alternaterom_aszmice07.rom
# Select custom ROM file
--zoom 4
--cpuspeed 400
# Set CPU speed in percentage

Leave other config file options (see post below for full config file) as they are.

A .zip file for the above example containing the .asm source with accompanying .lis listing file as well as a .bin object file is available here.

Launch ZEsarUX Emulator app and type

F5->Debugging->Load Binary Block (F5 e o for manual shortcut keys)

Select zx-aszmic-sp-rom-hires-graphics-test.bin

4000h

0 (for all)

This will load the .bin file as a binary file at 16384 ($4000) in the ZX ASZMIC memory map

Type

H :4200

Keep pressing Return to cycle through the various screens

 

zx aszmic rom e07 disassembly scaled 45pc Screen Shot 2015-08-17 at 1.04.35 pm


ZX81 Aszmic E07 Disassembly Xcode project

I have created a disassembly of the ZX81 Aszmic E07 ROM from the freely available binary .rom file distributed with many emulators.

It is available as a .zip file here which contains the binary aszmic-e07.rom file as well as the .asm source file and an Xcode project file.

(.zip file updated 2016-08-10)

zx aszmic rom e07 disassembly scaled 45pc Screen Shot 2015-08-20 at 7.18.20 pm


ZX81 Aszmic E07 ROM Running in ZEsarUX ZX81 Emulator

Gunfright Disassembly scaled 45pc Screen Shot 2015-06-10 at 10.38.44 am

Here is a disassembly of Gunfright for zasm assembler which will assemble to a .tap file

gunfright-zasm.zip

The Skoolkit html output for the resulting .tap file can be found here.

There are also some BBEdit Applescripts in the archive folder that I use to convert the Hex Dump and Disassembler output from ZX Preview (also here) into source code that can be assembled in zasm as well as a hex dump perl script that I use to ensure that the disassembled source has not introduced errors into the .tap file compared to the original hex dump code.

zasm assembler is available here

ZEsarUX.app sp rom zx basic asynchronous scheduling test scaled 45pc Screen Shot 2015-06-09 at 1.28.32 pm

SP ROM ZX BASIC Demo featuring Asynchronous Scheduling using the .RUN command

SP ROM ZX BASIC Demo featuring Asynchronous Scheduling using the .RUN command.

A BASIC text file of the above is available here and an executable .p file compiled using zxtext2p is available here.

A version of the BASIC text file using labels is available here.

An Applescript BBEdit script to compile a text file to a .p file using zxtext2p can be found here.

Optionally add the –cpuspeed option in the ZEsarUX Emulator config file to reduce screen flicker when running the demo.

$ pico ~/.zesaruxrc
--zoom 4
--cpuspeed 400
# Set CPU speed in percentage

Please ensure you have the latest version of the SP ROM binary .rom file from the post below before running the above program.

Please see post below for details of how to load and run SP ROM Extended BASIC programs.

If you update a previously loaded .p file and want to re-run

Type

NEW
LOAD ""
RAND USR 8195
RUN

To re-run the program

ZEsarUX.app aszmic sp rom BASIC HRTC Test scaled 45pc Screen Shot 2015-06-08 at 12.38.17 pm

SP ROM ZX BASIC HRTC Test Program Output

SP ROM ZX BASIC Demo featuring the HiRes Text Control Language (HRTC) functions.

A BASIC text file of the above is available here and an executable .p file compiled using zxtext2p is available here.

Please ensure you have the latest version of the SP ROM binary .rom file from the post below before running the above program.

An Applescript BBEdit script to compile a text file to a .p file using zxtext2p can be found here.

Please see post below for details of how to load and run SP ROM Extended BASIC programs.

If you update a previously loaded .p file and want to re-run

Type

NEW
LOAD ""
RAND USR 8195
RUN

To re-run the program

ZEsarUX.app aszmic sp rom hires test load binary h 6600 after reset scaled 45pc Screen Shot 2015-05-30 at 2.14.06 pm

Screen dump after loading binary to $6600 and typing “this is a test of aszmic sp rom”

SP ROM programs can also be run in ZX ASZMIC debug mode Uncomment the –romfile option in the ZEsarUX Emulator config file to enable ASZMIC E07 ROM

$ pico ~/.zesaruxrc
--machine ZX81
--romfile alternaterom_aszmice07.rom
# Select custom ROM file

Leave other config file options (see post below for full config file) as they are.

A .zip file for the above example containing the .asm source with accompanying .lis listing file as well as a .bin object file is available here.

This is based on the example program in the ASZMIC SP ROM Manual pp16-17.

Launch ZEsarUX Emulator app and type

F5->Debugging->Load Binary Block (F5 e o for manual shortcut keys)

Select zx-aszmic-sp-rom-hires-test.bin

4000h

0 (for all)

This will load the .bin file as a binary file at 16384 ($4000) in the ZX ASZMIC memory map

Type

H :6600

to run Type  “this is a test of aszmic sp rom” to see text appear on the screen Press Shift-A to exit

Running ZX81 BASIC programs that use the SP ROM Extended commands can be achieved via the ZEsarUX Emulator for OS X, Linux and Windows

ZEsarUX Emulator is available here.

Install from the .dmg file (OS X)

Copy the SP ROM .ROM file sp-rom.rom (see Xcode Project in Disassembly post below) to

/Path/To/ZEsarUX-3.0/zesarux.app/Contents/Resources/alternaterom_sp_rom.rom

Edit ZEsarUX Emulator config file

$ pico ~/.zesaruxrc
--machine ZX81
#--romfile alternaterom_aszmice07.rom
# Select custom ROM file (commented out for now)
--zoom 4
--zx8081mem 16
# Emulate 1,2,...16 kb of memory on ZX80/ZX81
--zx8081ram8K2000
# Emulate 8K RAM in 2000H for ZX80/ZX81
--zx8081ram16K8000
# Emulate 16K RAM in 8000H for ZX80/ZX81
--zx8081ram16KC000 
# Emulate 16K RAM in C000H for ZX80/ZX81
--noautoload
# No autoload tape file on Spectrum (and ZX80/ZX81)
--smartloadpath "/Path/To/SP-ROM/Source/Files/"
--realvideo
--wrx
# Enable WRX mode on on ZX80/ZX81 (v3.0 and later)
--loadbinary ../Resources/alternaterom_sp_rom.rom 2000h 0
# Load binary file "file" at address "addr" with length "len" (v3.0 and later). Set len to 0 to load the entire file in memory (F5 e then o for manual shortcut)
--loadbinarypath "/Path/To/SP-ROM/Source/Files/"
# Select initial Load Binary path (v3.0 and later)

# :dbolli:20150704 17:05:18 Updated config file options for ZEsarUX v3.0

p17 of the SP ROM Manual has a sample BASIC program

ZEsarUX.app aszmic sp rom load binary manual p17 small Screen Shot 2015-06-05 at 4.51.41 pm

Sample program from p17 of SP ROM Manual

A BASIC text file of the above is available here and an executable .p file compiled using zxtext2p is available here.

An Applescript BBEdit script to compile a text file to a .p file using zxtext2p can be found here.

Launch ZEsarUX Emulator app and type

F5->Smart Load

Select .p file

 Type

POKE 16389,102
NEW

This will lower RAMTOP to $6600 to allow room for the HiRes display file

Type

LOAD ""
RAND USR 8195

ZEsarUX.app aszmic sp rom load binary RAND USR 8195 scaled 45pc Screen Shot 2015-05-30 at 10.59.32 am

Comprocsys copyright Banner appears after RAND USR 8195

You should see the Comprocsys copyright Banner appear

Press Enter

You should see the BASIC listing appear with the Extended BASIC commands

ZEsarUX.app aszmic sp rom load binary RAND USR 8195 Enter BASIC scaled 45pc Screen Shot 2015-05-30 at 11.06.23 am

ZX81 BASIC Listing with SP ROM Extended commands being edited

This can be edited as required or re-LOADed from the .p file

Type

RUN

ZEsarUX.app aszmic sp rom load binary RAND USR 8195 RUN BASIC scaled 45pc Screen Shot 2015-05-30 at 11.16.26 am

SP ROM BASIC Program executed via RUN command

You should see the HiRes display being updated as above