BBC Micro Z-Machine Interpreter v3

From Retrosoftware

(Difference between revisions)
Jump to: navigation, search
(Added zcode.zip local mirror)
(Added zmach.zip local mirror)
Line 51: Line 51:
''(BBC BASIC, requires ARM co-processor to run)''<br>
''(BBC BASIC, requires ARM co-processor to run)''<br>
Latest "unofficial" release.<br>
Latest "unofficial" release.<br>
-
http://www.g7jjf.com/progs/zmach.zip
+
http://www.g7jjf.com/progs/zmach.zip ([[Media:Zmach.zip|local mirror]])
'''''BBC Micro Z-Machine Interpreter - prototype combined ROM image on disk image'''''<br>
'''''BBC Micro Z-Machine Interpreter - prototype combined ROM image on disk image'''''<br>

Revision as of 09:17, 15 April 2010

BBC Micro Z-Machine v1.1 (Infocom v3) Interpreter





  by Jon Welch


Contents


License

This software is copyrighted freeware and can be used for non-commercial purposes.


Introduction

The initial version will be written in BBC BASIC. This will require an ARM co-processor (emulable in BeebEm) or a machine running Risc OS to run, and will be very slow. UPDATE: The BASIC version is pretty much done with and is available to download below.

This version will feed into the development of a native 6502 assembler version, which is aimed to fit into a standard BBC Micro Model B with standard Acorn DFS disc drive. Features below will be implemented based purely on how much memory is available, how fast the assembled version runs, how much slow-down the disk interaction causes etc.

The assembled code will be supplied as a ROM image. Cassette support is not possible due to the size of Z-Machine games and the amount memory available on an unexpanded BBC Micro Model B. Games will instead need to be stored on a standard Acorn DFS disc.

One of the biggest limitations of fitting an interpreter for the larger v4 and v5 games into a machine family as small as the BBC Microcomputer range is that there isn't a lot of memory available for Dynamic Storage, which is the section of memory which is constantly written to to keep track of the status of your game. If this area was left on disk, the game would be extremely slow to play. Consequently, this standard Model B version will only run Infocom v3 games will be restricted to MODE 7, due to memory limitations of the various MODEs.

TESTERS: We require testers to playthrough games they are intimately familiar with (or are prepared to follow a walk-through). Please volunteer in the forum, if you're willing to try out any of the games listed in the testing matrix below:

Discuss BBC Micro Z-Machine Interpreter

Use Inform 6.15 and the BBC Micro Z-Machine Interpreter in the complete Inform / Z-Machine v1.1 (Infocom v3) Development Environment to develop games for the BBC Micro/GameBoy/C64/Spectrum +3 etc.


Potential Feature Support

Features listed below are described in more detail in the
Inform Designer's Manual Chapter VII and in the Z-Machine standards v1.0 and v1.1
Feature Used in Z-Machine Version(s) Inform 'Available if' test Likely to be included
in BBC interpreter?
Full conformance to Z-Machine standard v1.0 - -  ?
Full conformance to Z-Machine Standard v1.1 - -  ?
Support for Z-Machine v3 3 - YES
Quetzal portable save-games support - -  ?
Limited Blorb Support (ability to extract Z-code file from blorb file and play it) - -  ?


Downloads

BBC Micro Z-Machine Interpreter - BASIC program on disk image
(BBC BASIC, requires ARM co-processor to run)
Latest "unofficial" release.
http://www.g7jjf.com/progs/zmach.zip (local mirror)

BBC Micro Z-Machine Interpreter - prototype combined ROM image on disk image
(6502 assembled machine code, all V3 opcodes implemented)
Latest "unofficial" release.
http://www.g7jjf.com/progs/zcode.zip (local mirror)


Sample Screenshots

BBC Micro Model B version of Z-Machine v1.1 (Infocom v3) Interpreter running Infocom's Zork IPosted: Sat May 31, 2008 16:16
BBC Micro Model B version of Z-Machine v1.1 (Infocom v3) Interpreter running Infocom's Zork I

Posted: Sat May 31, 2008 16:16
 
BBC Micro Master 128 version of Z-Machine Interpreter running Infocom's Leather Goddesses of Phobos with a racy red font colourPosted: Sat May 31, 2008 16:18
BBC Micro Master 128 version of Z-Machine v1.1 (Infocom v3) Interpreter running Infocom's Leather Goddesses of Phobos
with a racy red font colour

Posted: Sat May 31, 2008 16:18
 



Compatibility Testing Matrix



Commercial Infocom Games
Game Filename Z-code
Version
File
Length
Tested First Few Moves Tested to
Completion On Date
Tested with
BBC Interpreter
Version
Tested By Dynamic Storage Size
Ballyhoo ballyhoo.z3 v3 153,600 - - - - 11,258
Cutthroats cutthroa.z3 v3 112,640 - - - - 10,826
Deadline deadline.z3 v3 122,880 - - - - 12,155
Enchanter enchante.z3 v3 122,880 - - - - 12,653
Hitchhiker's Guide to the Galaxy (59/851108) hitchhik.z3 v3 113,664 - - - - 9,738
Hollywood Hijinx hollywoo.z3 v3 109,651 - - - - 12,142
Infidel infidel.z3 v3 122,880 - - - - 11,773
Leather Goddesses of Phobos (59/860730) leather.z3 v3 129,023 - - - - 11,436
Moonmist moonmist.z3 v3 153,600 - - - - 13,860
Planetfall (29/840118) planetfa.z3 v3 122,880 - - - - 14,288
Plundered Hearts plundere.z3 v3 128,963 - - - - 9,715
Seastalker seastalk.z3 v3 117,763 - - - - 12,727
Sorcerer sorcerer.z3 v3 122,880 - - - - 11,508
Spellbreaker spellbre.z3 v3 153,600 - - - - 11,394
Suspect suspect.z3 v3 122,880 - - - - 12,634
Starcross starcros.z3 v3 92,160 - - - - 10,600
Stationfall stationf.z3 v3 153,600 - - - - 11,941
Suspended suspend.z3 v3 122,880 - - - - 9,862
The Lurking Horror (includes sound) lurking.z3 v3 153,600 - - - - 11,410
The Witness witness.z3 v3 122,880 - - - - 11,260
Wishbringer (68/850501) wishbrin.z3 v3 128,905 - - - - 11,774
ZORK I (88/840726) zork1.z3 v3 92,160 - - - - 11,859
ZORK II zork2.z3 v3 92,160 - - - - 11,189
ZORK III zork3.z3 v3 92,160 - - - - 11,656
1984 ZORK I Demo (IF tutorial, ZORK I) zork_1_demo.z3 v3 62,326 - - - - 6,588
1984/5 Infocom Sampler 1 R55 (IF tutorial,ZORK I,Planetfall,Infidel,The Witness) sampler1_R55.z3 v3 126,902 - - - - 13,557
1987 Infocom Sampler 2 (IF tutorial,ZORK I,Leather Goddesses of Phobos,Trinity) sampler2.z3 v3 125,315 - - - - 11,908
1990 MINI-ZORK I minizork.z3 v3 52,216 - - - - 8,583


Change Log

Not released yet