Formatting & Video

Fixed some formatting and added a video link
This commit is contained in:
StewBC 2020-04-22 19:28:34 -07:00
parent 7652ec5858
commit 8421abb2f7

View File

@ -17,6 +17,8 @@ The game is complete.
There's a pre-built Apple II disk of the project, mminer.dsk under the There's a pre-built Apple II disk of the project, mminer.dsk under the
releases tab. This can be played directly in emulators. releases tab. This can be played directly in emulators.
There's also a video of the game here: https://youtu.be/OGxj_g1ImhM
3. DIFFERENCES FROM THE ORIGINAL 3. DIFFERENCES FROM THE ORIGINAL
There are several differences that all have to do with Apple II hardware There are several differences that all have to do with Apple II hardware
@ -98,20 +100,20 @@ music turned off, since there's no artificial delay.
Hex | Dec | Frame % | Item Hex | Dec | Frame % | Item
--- | --- | --- | --- --- | --- | --- | ---
18A72 | 100978 | 100% | Total Frame 19C3E | 105534 | 100% | Total Frame
18 | 24 | 0% | inputGet 18 | 24 | 0% | inputGet
E8 | 232 | 0% | willyMove E8 | 232 | 0% | willyMove
80 | 128 | 0% | gameAI 80 | 128 | 0% | gameAI
5EF3 | 24307 | 24% | screenClear 5EF3 | 24307 | 23% | screenClear
123 | 291 | 0% | tilesAnimateKeys 123 | 291 | 0% | tilesAnimateKeys
47 | 71 | 0% | tilesAnimateConveyor 47 | 71 | 0% | tilesAnimateConveyor
6EB | 1771 | 2% | screenDrawSprites 6EB | 1771 | 2% | screenDrawSprites
C55 | 3157 | 3% | screenDrawWilly C55 | 3157 | 3% | screenDrawWilly
C6FD | 50941 | 50% | screenDrawLevel C6FD | 50941 | 48% | screenDrawLevel
DDA | 3546 | 4% | uiUpdate DDA | 3546 | 3% | uiUpdate
3A | 58 | 0% | screenDrawSprite (door) 3A | 58 | 0% | screenDrawSprite (door)
26 | 38 | 0% | screenSwap 26 | 38 | 0% | screenSwap
51BD | 20925 | 21% | audioPlayNote 51BD | 20925 | 20% | audioPlayNote
As can be seen, clearing the area where the world will be drawn takes almost 24% As can be seen, clearing the area where the world will be drawn takes almost 24%
of the frame and drawing the level tiles takes about 50% of the frame! of the frame and drawing the level tiles takes about 50% of the frame!
@ -174,35 +176,39 @@ I tried to thoroughly comment all the code.
There are actually 2 programs in this. The 1st is the game, and it's in There are actually 2 programs in this. The 1st is the game, and it's in
src/apple2. src/apple2.
* audio.inc - Routines to make the speaker beep File | Desc
* defs.inc - Constants and definitions used throughout --- | ---
* game.inc - The in-game logic, AI etc. The bulk of the "game" audio.inc | Routines to make the speaker beep
* input.inc - User controls for game and editor defs.inc | Constants and definitions used throughout
* level.inc - Decompress a level and place the keys game.inc | The in-game logic, AI etc. The bulk of the "game"
* logo.hgr - 8Kb splash screen in HGR format input.inc | User controls for game and editor
* logo.inc - File that simply does an incbin on logo.hgr level.inc | Decompress a level and place the keys
* mminer.asm - Where the game starts, initial setup, etc. logo.hgr | 8Kb splash screen in HGR format
* mminer.cfg - ca65 configuration file logo.inc | File that simply does an incbin on logo.hgr
* roaudio.inc - Frequency and timing data for music and SFX mminer.asm | Where the game starts, initial setup, etc.
* rofont.inc - A ZX Spectrum font mminer.cfg | ca65 configuration file
* rolevels.inc - Level layout, tile usage, sprite positions, etc. roaudio.inc | Frequency and timing data for music and SFX
* rosprites.inc - Sprite definitions rofont.inc | A ZX Spectrum font
* rosystem.inc - Helper tables (multiplication, color masks, etc.) rolevels.inc | Level layout, tile usage, sprite positions, etc.
* rotext.inc - All text used in the game rosprites.inc | Sprite definitions
* rotiles.inc - Background tile definitions rosystem.inc | Helper tables (multiplication, color masks, etc.)
* screen.inc - Code related to drawing tiles, sprites, etc. rotext.inc | All text used in the game
* sprite.inc - Code for making instances of sprites, coloring them, etc. rotiles.inc | Background tile definitions
* text.inc - In game text and print functions screen.inc | Code related to drawing tiles, sprites, etc.
* ui.inc - User facing screens (title, scroller) sprite.inc | Code for making instances of sprites, coloring them, etc.
* variables.inc - All variables (scores, instance buffers, positions, etc.) text.inc | In game text and print functions
* Willy.inc - All logic relating to the movement of the main character, Willy ui.inc | User facing screens (title, scroller)
variables.inc | All variables (scores, instance buffers, positions, etc.)
Willy.inc | All logic relating to the movement of the main character, Willy
The second is the ProDos loader that will auto-load the game. It's in the The second is the ProDos loader that will auto-load the game. It's in the
src/apple2.loader folder. It has these files (all provided to me by Oliver src/apple2.loader folder. It has these files (all provided to me by Oliver
Schmidt) Schmidt)
* loader.cfg - ca65 configuration file File | Desc
* loader.s - file to load and start the game --- | ---
loader.cfg | ca65 configuration file
loader.s | file to load and start the game
7. BUILDING THE GAME 7. BUILDING THE GAME