| 1 |
GameFileHandle dw ? |
| 2 |
Filename db 'GAME.BIN', 0x00 |
| 3 |
STR_ErrFile db 'Error opening the file:', 0x0D, 0x0A, 0x24 |
| 4 |
STR_ErrFree db 'Error freeing one or more memory blocks.', 0x0D, 0x0A, 0x24 |
| 5 |
STR_ErrCloseFile db 'Error closing the file:', 0x0D, 0x0A, 0x24 |
| 6 |
STR_ErrInvalidMagic db 'Invalid magic number.', 0x0D, 0x0A, 0x24 |
| 7 |
STR_ErrNotSupported db 'Operation not supported.', 0x0D, 0x0A, 0x24 |
| 8 |
STR_ErrInvalidAllocation db 'Requested an invalid amount of memory. Valid values are 0 (16K), 1 (32K) and 2 (64K).', 0x0D, 0x0A, 0x24 |
| 9 |
STR_ErrInvalidVersion db 'Invalid game file version.', 0x0D, 0x0A, 0x24 |
| 10 |
; There's two of these, they may change independently based on what wording matches better. |
| 11 |
STR_ErrOther db 'An error occurred and the program had to close:', 0x0D, 0x0A, 0x24 ; Shown when the error is some sort of a custom something-something |
| 12 |
STR_ErrOtherDOS db 'An error occurred and the program had to close:', 0x0D, 0x0A, 0x24 ; Shown when the error is a return from a DOS Function |
| 13 |
STR_Bye db 'Bye', 0x0D, 0x0A, 0x24 |
| 14 |
; Scratch RAM segment (16K as of now) |
| 15 |
RAM_Scratch dw ? |
| 16 |
; Persistent RAM segment (4K also), differs from scratch RAM in that the offsets are meaningful |
| 17 |
RAM_Persistent dw ? |
| 18 |
; Object memory (64K) |
| 19 |
RAM_Object dw ? |
| 20 |
; Depends on the file, either 16K, 32K, or 64K |
| 21 |
RAM_OpFile dw ? |
| 22 |
; 64K, we use 320 * 200 bytes, used for double-buffering the frame, BASE_Present shoves it into A000:0000 |
| 23 |
RAM_Framebuffer dw ? |
| 24 |
; A "program counter" for our opcode stream |
| 25 |
; Not up-to-date at all times, the interpreter will occasionally update this, not constantly |
| 26 |
; However, since this is not a multithreaded environment (wow), it can be assumed to be up-to-date |
| 27 |
FilePtr dw ? |
| 28 |
CurrentVideoMode db 0x03 |
| 29 |
;FileBuf: |
| 30 |
; TIMES 512 db 0x24 |
| 31 |
|
| 32 |
; MOONMAN db \ |
| 33 |
; 0x0, 0x0, 0xF, 0x7, 0xF, 0x7, 0x0, 0x0, \ |
| 34 |
; 0x0, 0x0, 0x7, 0xF, 0x7, 0xF, 0x7, 0x0, \ |
| 35 |
; 0x0, 0x0, 0x7, 0xF, 0xF, 0xF, 0xF, 0x7, \ |
| 36 |
; 0x0, 0x0, 0x0, 0x7, 0x0, 0xF, 0x8, 0xA, \ |
| 37 |
; 0x0, 0x0, 0x0, 0xF, 0x0, 0x8, 0xF, 0x7, \ |
| 38 |
; 0x0, 0x0, 0x8, 0xF, 0x7, 0x7, 0xF, 0x7, \ |
| 39 |
; 0x0, 0x7, 0xF, 0xF, 0xF, 0xF, 0xF, 0x8, \ |
| 40 |
; 0x0, 0x0, 0x7, 0xF, 0xF, 0x7, 0x8, 0x7 |