Changes

ACU January-February 1985 - Type-ins

2,217 bytes removed, 13:36, 24 January 2010
Return to [[ACU Type Ins|ACU Type-Ins]]
 
__TOC__
=Downloads=
[[media:acu_january_february_1985acu8501.zip|Disk Image]] =Cover Imageimage=[[image:acu_jan_feb_1985_coveracu8501.png]] 
=Amthello=
To run Amthello, type:<br/>
RUN"AMTHELLO"<br/>
<gallery widths="384px" heights="270px" perrow="2">[[image:amthello1acu8501amthello1.png|384px]][[image:amthello2acu8501amthello2.png|384px]]<br/><br/>[[image:amthello3acu8501amthello3.png</gallery>|384px]]
=Deep Thought=
To run Deep Thought, type:<br/>
RUN"DEEP"<br/>
<gallery widths="384px" heights="270px" perrow="2">[[image:deeptht1acu8501deeptht1.png|384px]][[image:deeptht2acu8501deeptht2.png|384px]]<br/><br/>[[image:deeptht3acu8501deeptht3.png</gallery>|384px]]
=Inter-Clock=
To run Inter-Clock, type:<br/>
RUN"CLOCK"<br/>
<gallery widths="384px" heights="270px" perrow="2">[[image:intclck1acu8501intclck1.png|384px]][[image:intclck2acu8501intclck2.png</gallery>|384px]]
=Jack and the Beanstalk=
To run Jack and the Beanstalk, type:<br/>
RUN"JACK"<br/>
<gallery widths="384px" heights="270px" perrow="2">[[image:jackbn1acu8501jackbn1.png|384px]][[image:jackbn2acu8501jackbn2.png|384px]]<br/><br/gallery> Map (part 1) by '''tastefulmrship'''.<gallery widths="394px" heights="600px" perrow="1"br/>[[image:jackbeanstalk_map1acu8501jackmap1.png|384px]]<br/><br/gallery> Map (part 2) by '''tastefulmrship'''.<gallery widths="711px" heights="599px" perrow="1"br/>[[image:jackbeanstalk_map2acu8501jackmap2.png|384px]]<br/><br/gallery> Guide (part 1) by '''tastefulmrship'''.<br/>
Full list of words recognised by the adventure:
 
<pre>
SAVE - LOAD - QUIT - SCORE - INVENTORY
GET - TAKE - GRAB - DROP - LEAVE - PUT - GIVE - CHOP - CUT
</pre>
Guide (part 2) by '''tastefulmrship'''.<br/>
Complete Solution:
 
<pre>
W, TAKE PAPER, READ PAPER, DROP PAPER, E, S, DOWN, S, E, TAKE CHEESE,
DROP HARP, S, DOWN, S, S, S, S, S, E, N, N, CHOP
</pre>
 =RSX ArticleM-Machine Scheduling=RUN"SCHEDULE"<br/>The [[image:acu8501mmschedule1.png|GETCHAR command reads the code for a character at position x,y in window n384px]][[image:acu8501mmschedule2.png|384px]]<br/><br/>The BASIC [[image:acu8501mmschedule3.png|384px]][[image:acu8501mmschedule4.png|384px]]<br/><br/>[[image:acu8501mmschedule5.png|384px]][[image:acu8501mmschedule6.png|384px]]<br/><br/>[[image:acu8501mmschedule7.png|384px]][[image:acu8501mmschedule8.png|384px]]=RSX and the CPC464=Other file (s) associated with this article:<br/>- RSXASSEM.ASM<br/>- RSXLIST2.BAS needed to create the |GETCHAR command is provided on the disk, for users without an assembler<br/>- RSXLIST4.BAS<br/>- RSXCODE1.BIN<br/>See Amstrad Computer User, January/February 1985, pages page 29-34 for more details.<br/><br/>To see an example of this command in action, type:<br/>
RUN"RSXLIST4"<br/>
<gallery widths="384px" heights="270px" perrow="2">[[image:getchar1acu8501getchar2.pngimage:getchar2.png</gallery> The z80 assembler code for the |GETCHAR command, provided here for completeness.384px]]=Trench=<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 RUN"GETCHATRENCH" 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<br/pre>[[image:acu8501trench1.png|384px]]
[[Category:Type Ins]]
3,699
edits