Difference between revisions of "ACU January-February 1985 - Type-ins"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Jack and the Beanstalk)
(RSX Article)
Line 83: Line 83:
 
[[image:Acu_Mmschedule8.png|192px]]
 
[[image:Acu_Mmschedule8.png|192px]]
  
=RSX Article=
+
=RSX and the CPC464=
 +
RSXASSEM.ASM contains the Z80 assembler code for the "RSX and the CPC464" article.<br/>
 +
RSXLIST2.BAS contains the BASIC code.<br/>
 +
See Amstrad Computer User, January/February 1985, page 29 for more details.
  
The |GETCHAR command reads the code for a character at position x,y in window n.<br/><br/>
 
The BASIC file RSXLIST2.BAS needed to create the |GETCHAR command is provided on the disk, for users without an assembler.<br/>
 
See Amstrad Computer User, January/February 1985 for more details.<br/><br/>
 
To see an example of this command in action, type:<br/>
 
 
RUN"RSXLIST4"<br/>
 
RUN"RSXLIST4"<br/>
 
[[image:Acu_Getchar1.png|192px]]
 
[[image:Acu_Getchar1.png|192px]]
 
[[image:Acu_Getchar2.png|192px]]
 
[[image:Acu_Getchar2.png|192px]]
<br/><br/>
 
The Z80 assembler code for the |GETCHAR command.
 
<pre>
 
ORG &8000
 
; RSX to add |GETCHAR,return_char%,stream_num
 
.KL_LOG_EXT EQU &BCD1
 
.TXT_OUTPUT EQU &BB5A
 
.TXT_SWAP_STREAMS EQU &BBB7
 
.TXT_RD_CHAR EQU &BB60
 
 
.entry EQU $
 
LD HL,&E9E1
 
LD (&30),HL
 
RST &30
 
 
.this EX DE,HL
 
LD HL,rel_tab-this
 
ADD HL,DE ; HL has absolute address of rel_table
 
 
.loop LD C,(HL)
 
INC HL
 
LD B,(HL) ; BC has first entry in table
 
LD A,C
 
OR B
 
JR Z,done ; entry was 0000 so exit loop
 
PUSH HL ; stack current table pointer
 
LD H,B
 
LD L,C
 
ADD HL,DE ; make table entry absolute
 
PUSH HL ; and stack this value
 
LD C,(HL)
 
INC HL
 
LD B,(HL) ; get contents pointed to by entry
 
LD H,B
 
LD L,C
 
ADD HL,DE ; make this absolute
 
LD B,H
 
LD C,L
 
POP HL ; retrieve absolute entry value
 
LD (HL),C
 
INC HL
 
LD (HL),B ; store calculated absolute value at this address
 
POP HL ; get address of previous table entry
 
INC HL ; make HL point at next
 
JR loop
 
 
.done EQU $
 
 
.r01 LD BC,rsx_tab-this
 
.r02 LD HL,work-this
 
JP KL_LOG_EXT ; log-on new command
 
 
.rsx_tab EQU $
 
 
.r03 DEFW nam_tab-this
 
.r04 JP scr-this
 
 
.nam_tab EQU $
 
DEFM "GETCHA"
 
DEFB "R"+&80 ; final character has sign bit set
 
DEFB 0 ; finish table with zero byte
 
 
.scr EQU $
 
CP 2
 
JR NZ,error
 
LD L,(IX+2) ; pick up integer variable address
 
LD H,(IX+3)
 
PUSH HL ; and save it on the stack
 
LD B,(IX+0) ; get stream number
 
LD C,0
 
PUSH BC
 
CALL TXT_SWAP_STREAMS ; swap to desired stream
 
POP BC
 
CALL TXT_RD_CHAR ; pick up the character
 
POP HL
 
LD (HL),A ; store character in low byte of integer variable
 
SBC A,A ; subtract carry (give 0 if clear, 1 if set)
 
INC A
 
INC HL
 
LD (HL),A
 
 
.ss CALL TXT_SWAP_STREAMS
 
RET
 
 
.error EQU $
 
 
.r05 LD HL,msg-this ; haven't got two parameters
 
 
.pmess LD A,(HL)
 
INC HL
 
CALL TXT_OUTPUT
 
CP 10
 
JR NZ,pmess
 
RET
 
 
.work DEFS 4
 
 
.msg DEFM "Bad Command"
 
DEFB 13,10
 
 
.rel_tab EQU $
 
DEFW r01-this+1
 
DEFW r02-this+1
 
DEFW r03-this
 
DEFW r04-this+1
 
DEFW r05-this+1
 
DEFW 0
 
</pre>
 
  
 
=Trench=
 
=Trench=

Revision as of 10:57, 31 July 2009

Return to ACU Type-Ins

Downloads

Disk Image

Cover Image

Acu jan feb 1985 cover.png

Amthello

To run Amthello, type:
RUN"AMTHELLO"
Acu Amthello1.png Acu Amthello2.png Acu Amthello3.png

Deep Thought

To run Deep Thought, type:
RUN"DEEP"
Acu Deeptht1.png Acu Deeptht2.png Acu Deeptht3.png

Inter-Clock

To run Inter-Clock, type:
RUN"CLOCK"
Acu Intclck1.png Acu Intclck2.png

Jack and the Beanstalk

To run Jack and the Beanstalk, type:
RUN"JACK"
Acu Jackbn1.png Acu Jackbn2.png

Map (part 1) by tastefulmrship.
Acu Jackbeanstalk map1.png

Map (part 2) by tastefulmrship.
Acu Jackbeanstalk map2.png

Guide (part 1) by tastefulmrship.

Full list of words recognised by the adventure:
SAVE - LOAD - QUIT - SCORE - INVENTORY
GO - N - S - E - W - UP - DOWN - IN - OUT
HIDE - WAIT - LOOK - SEARCH - HELP
READ - WEAR - REMOVE - SOW - PLANT - EAT - DRINK - PULL - RUB - SWIM
UNLOCK - OPEN - KILL - STAB - ATTACK
GET - TAKE - GRAB - DROP - LEAVE - PUT - GIVE - CHOP - CUT

Guide (part 2) by tastefulmrship.

Complete Solution:
W, TAKE PAPER, READ PAPER, DROP PAPER, E, S, DOWN, S, E, TAKE CHEESE,
W, S, E, TAKE COW, W, S, S, S, E, E, IN, GIVE COW, TAKE BEANS, OUT,
W, N, N, SOW BEANS, DROP BEANS, UP, S, E, S, IN, S, OPEN DOOR, S, S,
E, N, E, E, E, S, PULL LEVER, S, E, E, IN, TAKE KEY, N, HELP, GIVE CHEESE,
DROP CHEESE, TAKE DRESS, OUT, S, W, S, UNLOCK GATE, DROP KEY, S, S, S,
HELP, HIDE, OVEN, WAIT, OUT, TAKE GOOSE, N, N, N, N, W, W, N, N, W, W,
W, S, W, N, N, N, OUT, N, W, N, DOWN, S, S, W, N, N, N, N, N, UP, N,
DROP GOOSE, S, DOWN, S, S, S, S, S, E, N, N, UP, S, W, S, S, E, IN,
TAKE OUTFIT, WEAR OUTFIT, OUT, W, N, N, E, E, S, IN, S, S, S, E, N, E,
E, E, S, S, E, E, S, S, S, S, HIDE, CUPBOARD, WAIT, OUT, TAKE MONEY, N,
N, N, N, W, W, N, N, E, IN, N, E, N, E, N, TAKE SWORD, S, W, S, W, S, OUT,
W, W, W, W, S, W, N, N, N, OUT, N, W, N, DOWN, S, S, W, N, ATTACK WITCH,
DROP SWORD, N, N, N, N, UP, N, DROP MONEY, S, DOWN, S, S, S, W,
UNLOCK SHED, 10130127, IN, TAKE AXE, OUT, E, S, S, E, N, N, UP, S, E, S,
IN, S, S, S, E, N, E, E, E, S, S, E, E, S, S, REMOVE OUTFIT, WEAR DRESS,
S, S, HIDE, COPPER, WAIT, OUT, TAKE HARP, N, N, N, N, W, W, N, N, W, W, W,
S, W, N, N, N, OUT, W, N, W, N, DOWN, S, S, W, N, N, N, N, N, UP, N,
DROP HARP, S, DOWN, S, S, S, S, S, E, N, N, CHOP

M-Machine Scheduling

To run M-Machine Scheduling, type:
RUN"SCHEDULE"
Acu Mmschedule1.png Acu Mmschedule2.png Acu Mmschedule3.png Acu Mmschedule4.png Acu Mmschedule5.png Acu Mmschedule6.png Acu Mmschedule7.png Acu Mmschedule8.png

RSX and the CPC464

RSXASSEM.ASM contains the Z80 assembler code for the "RSX and the CPC464" article.
RSXLIST2.BAS contains the BASIC code.
See Amstrad Computer User, January/February 1985, page 29 for more details.

RUN"RSXLIST4"
Acu Getchar1.png Acu Getchar2.png

Trench

To run Trench, type:
RUN"TRENCH"
Acu Trenchanim1.png