Changes

ACU March 1985 - Type-ins

3,065 bytes removed, 13:38, 24 January 2010
Return to [[ACU Type Ins|ACU Type-Ins]]
 
__TOC__
=Downloads=
[[media:acu_march_1985acu8503.zip|Disk Image]] =Cover Imageimage=[[image:acu_march_1985_coveracu8503.png]]=Boolean operations demonstration=RUN"BOOLEAN"<br/>[[image:acu8503boolean1.png|384px]][[image:acu8503boolean2.png|384px]]=Electric Eddy=RUN"EDDY"<br/>[[image:acu8503eddy1.png|384px]][[image:acu8503eddy2.png|384px]]<br/><br/>[[image:acu8503eddy3.png|384px]][[image:acu8503eddy4.png|384px]]<br/><br/>[[image:acu8503eddy5.png|384px]][[image:acu8503eddy6.png|384px]]<br/><br/>[[image:acu8503eddy7.png|384px]][[image:acu8503eddy8.png|384px]]
=Electric Fencing=
To run Electric Fencing, type:<br/>
RUN"FENCING"<br/>
[[image:acu8503fencing1.png|384px]][[image:acu8503fencing2.png|384px]]<gallery widths="br/><br/>[[image:acu8503fencing3.png|384px" heights]][[image:acu8503fencing4.png|384px]]="270px" perrowFlashman=RUN"2FLASHMAN"<br/>[[image:fencing1acu8503flash1.png|384px]][[image:fencing2acu8503flash2.png|384px]]<br/><br/>[[image:fencing3acu8503flash3.png|384px]][[image:fencing4acu8503flash4.png|384px]]<br/><br/gallery>[[image:acu8503flash5.png|384px]][[image:acu8503flash6.png|384px]]
=Jeremy Vine's music routine=
To run Jeremy Vine's music routine, type:<br/>RUN"MUSIC"<br/><gallery widths="384px" heights="270px" perrow="2">image:music1.png</gallery> 
=Machine code fill routine and demonstration=
To run Machine code fill routine and demonstration, type:<br/>
RUN"MCFILL"<br/>
<gallery widths="384px" heights="270px" perrow="2">[[image:mcfill1acu8503mcfill1.png|384px]][[image:mcfill2acu8503mcfill2.png|384px]]<br/><br/>[[image:mcfill3acu8503mcfill3.png|384px]][[image:mcfill4acu8503mcfill4.png|384px]]=Manipulating the Amstrad CPC464 Screen Display=File(s) associated with this article:<br/gallery>- SCREEN1.ASM<br/>- SCREEN2.ASM<br/>- SCREEN3.ASM<br/>- SCREEN4.ASM<br/>- SCREEN5.ASM<br/>See Amstrad Computer User, March 1985, page 103 for more details.
=Number Sort routine=
To run Number Sort routine, type:<br/>
RUN"SORT"<br/>
<gallery widths="384px" heights="270px" perrow="2">[[image:sort1acu8503sort1.png|384px]][[image:sort2acu8503sort2.png|384px]]<br/><br/>[[image:sort3acu8503sort3.png|384px]][[image:sort4acu8503sort4.png</gallery>|384px]]
=Prime Numbers (1)=
To run Prime Numbers (1), type:<br/>RUN"PASCAL3"<gallery widths="384px" heights="270px" perrow="2"br/>[[image:pascal3_1acu8503pascal1.png|384px]][[image:pascal3_2acu8503pascal2.png</gallery>|384px]]
=Prime Numbers (2)=
To run Prime Numbers (2), type:<br/>RUN"PASCAL4"<gallery widths="384px" heights="270px" perrow="2"br/>[[image:pascal4_1acu8503pascal3.png|384px]][[image:pascal4_2acu8503pascal4.png|384px]]=Screen Dump=File(s) associated with this article:<br/gallery>- DMPDMP1.ASM<br/>- DMPEPSON.ASM<br/>- DMPDMP1.BIN<br/>- DMPEPSON.BIN<br/>- DMPLIST2.BAS<br/>- DMPLIST4.BAS<br/>See Amstrad Computer User, March 1985, page 90 for more details.
=Sum Numbers=
To run Sum Numbers, type:<br/>
RUN"PASCAL5"
<gallery widths="384px" heights="270px" perrow="2">
image:pascal5_1.png
image:pascal5_2.png
</gallery>
 
=Trench=
To run Trench, type:<br/>
RUN"TRENCH"<br/>
<gallery widths="384px" heights="270px" perrow="2">[[image:trench1acu8503trench1.png|384px]][[image:trench2acu8503trench2.png|384px]]<br/><br/>[[image:trench3acu8503trench3.png|384px]][[image:trench4acu8503trench4.png|384px]]<br/><br/>[[image:trench5acu8503trench5.png|384px]][[image:trench6acu8503trench6.png|384px]]<br/><br/>[[image:trench7acu8503trench7.png</gallery>|384px]]
=Unerase=
The Z80 assembler code for David Link's Unerase program.<pre> ; Unerase a file in CP/M - 04/11/84 ; Copyright David Link 1984  ; A program to unerase a file that has been accidentally ; erased. Should be used immediately after erasing the ; file since if user later, some blocks may have been re-used.  ; Format is - UNERA filename DEFCB EQU &5C fnamelen EQU 8extlen EQU 3extent EQU 12dirlen EQU 32  ; CP/M BDOS call numbers OPEN EQU 15CLOSE EQU 16SEARCH EQU 17SRCH_AGAIN EQU 18MAKE EQU 22SETDMA EQU 26  ; Default workspace for file reads tbuff EQU 128  ; Macro to call CP/M setting DE and C DOS MAC LD DE,=0 LD C,=1 CALL Dos ENDM  ; Macro to call CP/M setting C. SDOS MAC LD C,=0 CALL Dos ENDM  ; COM files begin at &100  ORG &100  LD SP,(6) ; set stack to top of TPA DOS DEFCB,SEARCH ; Does file exist? INC A JP NZ,0 ; File exists, return to CCP LD HL,FCBSPACE ; Initialise pointer to current FCB LD (FCBPTRs),HL DOS tbuff,SETDMA ; set disc I/O to tbuff DOS DUMFCB,SEARCH ; and search for the first entry in directory More_Search INC A JR Z,End_of_Directory ; No more entries  ; Compare found filename associated with the required filename Continue DEC A ; adjust because we INCed it ADD A,A ; multiply by dirlen to get postion ADD A,A ; of entry in catalogue ADD A,A ADD A,A ADD A,A LD D,0 LD E,A LD HL,tbuff ; point to found file ADD HL,DE Again PUSH HL ; and compare it with required filename INC HL LD B,fnamelen+extlen ; both name and type (8, name this article: 3, type) LD DE,DEFCB+1 ; filename starts at FCB + 1 Match LD A,(DE) LD C,(HL) RES 7,C ; some CP/Ms set bits on filename CP C ; so make sure top bit is reset for comparison INC HL INC DE JR NZ,NoMatch ; not this one DJNZ Match ; good so far... keep going  ; Match found  POP HL ; filename match, but... PUSH HL LD A,(HL) ; ... is it erased? CP &E5 ; e% in first byte of directory = erased JR NZ,NoMatch ; not erased... so search some more LD (HL),0 ; it was erased, so unerase it LD DE,(FCBPTR) ; and store the FCB information in LD BC,dirlen ; our temporary table LDIR LD (FCBPTR),DE ; updating our table pointer afterwards  ; Search for another entry NoMatch POP HL DOS DUMFCB,SRCH_AGAIN ; search for next entry in directory JR More_Search  ; we have now exhausted the directory search and built ; up our table of directory entries for the required file End_of_Dir LD DE,FCBSPACE ; start processing table of matched ; directory entriesMAIN_LOOP LD HL,(FCBPTR) ; have we reached end of table? OR A SBC HL,DE JP Z,0 ; finished, so return PUSH DE ; save table pointer LD HL,extent ; address extent byte ADD HL,DE LD A,(HL) ; make an extent of new, LD (DEFCB+extent),a ; unerased file... DOS DEFCB,MAKE POP DE ; recover pointer to FCB... SDOS CLOSE ; and close it LD HL,dirlen ADD HL,DE ; have we reached end of table? EX DE,HL JR MAIN_LOOP Dos PUSH HL PUSH DE PUSH BC CALL 5 POP BC POP DE POP HL RET FCBPTR DEFS 2 DUMFCB DEFM "????????????" DEFW 0,0 DEFS 16 DEFW 0,0 FCBSPACE EQU $</pre> IN PROGRESS<br/> IN PROGRESS- UNERASE.ASM<br/> IN PROGRESS<br/> IN PROGRESS<br/> IN PROGRESS<br/> IN PROGRESS<br/> IN PROGRESS<br/> IN PROGRESS<br/> IN PROGRESS<br/> IN PROGRESS<br/> =Electric Eddy=To run Electric EddySee Amstrad Computer User, type:<brAugust/>RUN"EDDY"<br/><gallery widths="384px" heights="270px" perrow="2">image:eddy1.pngimage:eddy2.pngimage:eddy3.pngimage:eddy4.pngimage:eddy5.pngimage:eddy6.pngimage:eddy7.pngimage:eddy8.png</gallery> =Flashman=To run FlashmanSeptember 1984, type:<br/>RUN"FLASHMAN"<br/><gallery widths="384px" heights="270px" perrow="2">image:flash1page 40 for more details.pngimage:flash2.pngimage:flash3.pngimage:flash4.pngimage:flash5.pngimage:flash6.png</gallery> 
[[Category:Type Ins]]
3,699
edits