My "The Quill" Editor is in progress.
I had to code the object table and the script table.
The Vb resources are availaible here:
http://zx81.ordi5.free.fr/thequill/VB_RES.ZIP
Have fun.File updated: Up, Down, Ne ,Se,sw,nw are ok.
Have fun.File updated: Up, Down, Ne ,Se,sw,nw are ok.
The Code is short, but you had to finish the message table, to change all words groups.Insted of (for exemple!) :
I am in a Hall. $80 ; ( or $FF !!!)
You can use a tag after $80 like $81 to point to a groupe of words.
$81="I AM IN "
$82="A "
ROOM01:
db $81,$82 , H , A , L , L , $80 ; ( or $FF !!!)
ROOM01:
db $81, $82 , K , I , T , C , H , E , N, $80 ; ( or $FF !!!)
It Preserve many bytes.
Code: Select all
;--------------------------------------------------------------------
; C O M M O N M E S S A G E S
;--------------------------------------------------------------------
COMMON_MSG:
db $80
db I, _, A, M, _, I, N, $80 ;ID $81
db T, H, E, $80 ;ID $82
db N, O, R, T , (H+$80) ;ID $83
db E, A, S,(T+$80) ;ID $84
db S, O, U, T, (H+$80) ;ID $85
db W, E, S,(T+$80) ;ID $86
db S, T, E, P, S, _, L, E, A, D, $80 ;ID $87
db D,O,W,N, $80 ;ID $88
db U,P, $80 ;ID $89
db T, O, $80 ;ID $8A
db I, S, $80 ;ID $8B
db A, N, D, $80 ;ID $8C
Code: Select all
;--------------------------------------------------------------------
; M E S S A G E S T A B L E
;--------------------------------------------------------------------
MSGROOM_01:
; "I AM IN A HALL. THE KITCHEN IS TO THE EAST, THE BEDROOM TO THE WEST AND THE LOUGE TO THE SOUTH. STEPS LEAD DOWN TO THE CELLAR."
db $81, A, _, H, A, L, L, $1B, _
db $82, K, I, T, C, H, E, N, _, $8B, $76
db $8A, $82, $84, $1A, _, $82
db B, E, D, R, O, O, M, _, $8A, $82
db $86, _, $8C, $82, L, O, U
db G, E, _,$8A, $82, $85, $1B
db $87 , $88
db $8A, $82, C, E, L, L, A, R, $1B
db $80
MSGROOM_02:
; "I AM IN THE KITCHEN. THE HALL IS TO THE WEST AND THE DINNING ROOM IS TO THE SOUTH."
db $03, $82, K, I, T, C
db H, E, N, $1B, _, $82, H, A, L, L, _, $8B
db $8A, $82, $86, _, $8C
db $82, D, I, N, N, I, N, G, _, R, O, O, M
db $8B, $8A, $82, $85, $1B
db $80
MSGROOM_03:
; "I AM IN THE DINNING ROOM. THE KITCHEN IS TO THE NORTH AND THE LOUGE TO THE WEST."
db $81, , $82, D, I, N, N
db I, N, G, _, R, O, O, M, _ , $1B,$76,$82, _
db K, I, T, C, H, E, N, _, $8B, $8A, $82
db $83, _, $8C, $82
db L, O, U, G, E, _,$8A , $82,$86, $1B
db $80
MSGROOM_04:
; "I AM IN THE LOUGE. TO THE NORTH IS THE HALL WHILE THE DINNING ROOM IS TO THE EAST."
db $81, $82, L, O, U, G
db E ,$1B, _, $8A, $82, $83, _
db $8B, $82, H, A, L, L, _, W, H, I, L
db E, _, $82, _, D, I, N, N, I, N, G, _, _
db R, O, O, M, _, $8B,$8A, $82, $84, $1B
db $80
MSGROOM_05:
; "I AM IN THE BEDROOM. THE HALL IS TO THE EAST AND A BED IS AGAINST THE NORTH WALL."
db $81, $82, B, E, D, R
db O, O, M, $1B, _, $82, H, A, L, L, _, I, S
db $8A, $82, $84, _,$8C
db A, _, B, E , D, _, $8B, A, G, A, I, N, S, T
db $82,$83, _, W, A, L, L, $1B
db $80
MSGROOM_06:
; "I AM IN THE CELLAR. STEPS LEAD UP TO THE HALL."
db $81, $82, C, E, L, L
db A, R, $1B, _, $87, _
db $8A, $8A, $82, H, A, L, L, $1B
db $80
Code: Select all
;--------------------------------------------------------------------
; To add to you primary message reader.
;--------------------------------------------------------------------
Lb42FD:
LD A,(HL)
CP $80 ; End of the message? ($FF for the new format !)
JR Z, Lb4309 ; Exit.
CP $76 ; N/L?
JR NZ, Lb42FE ; no.. resume next.
CALL DISP_NL ; Display a N/L
INC HL
JP Lb42FD
Lb42FE:
BIT 7,(HL)
JR Z,Lb42FF ; IF B7=0 vvv
AND $7F ; IF B7=1 get A and 7Fh (B0=0)
CALL DISP_COMMON ; Call the routine
JR Lb4300 ; Next char in the message.
Lb42FF:
CALL DISP_CHAR ;Display the char., it's <80h (not a common word)
Lb4300:
INC HL
JP Lb42FD
Lb4309:
CALL DISP_NL
LD A,(STBUFFER1)
CALL Lb4371
RET ; ==========================
Code: Select all
;--------------------------------------------------------------------
; S E R V E R R O U T I N E
;--------------------------------------------------------------------
DISP_COMMON:
PUSH HL
LD B,A
LD HL,COMMON_MSG
DISP_COMMON1:
BIT 7,(HL)
INC HL
JR Z,DISP_COMMON1
DJNZ DISP_COMMON1
DISP_COMMON2:
LD A,(HL)
AND $7F
CALL DISP_CHAR
LD A,(HL)
BIT 7,A
INC HL
JR Z,DISP_COMMON2
DISP_COMMON3:
POP HL
RET ; ==========================
The last release is here :http://zx81.ordi5.free.fr/thequill/VB_RES.ZIP, and it's in stand-by.P.D. How is going the Vb Editor ?