News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_robbarton

Computing with the Amstrad TYPE-IN PROJECT

Started by robbarton, 12:53, 28 June 20

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Gryzor


robbarton

Uploaded issue 11 today:

http://www.cpcwiki.eu/index.php/CWTA_Issue_11_-_November_1985_-_Type-Ins

I've also noticed that I am adding the categories in the conventional way, i.e. adding this code to the foot of the wikitext, but they don't seem to be showing up; it's been like this all of last week:



{{DEFAULTSORT:Computing With The Amstrad 1985-11 Type-Ins}}
[[Category:Computing With The Amstrad Type-Ins]]



Sykobee (Briggsy)

I loved Frutties, it was one of the earlier type-ins I entered I believe, maybe before my parents even allowed me to play real games!


And Le Mans, I remember that - primitive but a good effort all the same.

scruss

Quote from: Gryzor on 09:42, 09 July 20
How are you going about it?
See CWTA Issue 2, which ends:

{{DEFAULTSORT:Computing With The Amstrad 1985-02 Type-Ins}}
[[Category:CWTA Type Ins]][[Category:Type Ins]][[Category:Computing With The Amstrad Type-Ins]]
[[Category:Type Ins]]

That last category was entered using the link button in the editor. It gave me an "Internal Link Exists" verification, and yet nothing.

Also, I've had to edit most of the links on CWTA Type Ins as robbarton's links (with underscores for spaces) aren't automatically matched.

Gryzor

This... is so weird. I'm looking into it, but can't find anything wrong?!

Gryzor

#30
Running some maintenance, please don't edit for a while, will tell you when it's done...


[EDIT] Maintenance finished, no soap :(

robbarton

Updated December 1985 (issue 12) on the wiki  http://www.cpcwiki.eu/index.php/CWTA_Issue_12_-_December_1985_-_Type-Ins

Regarding the categories:  I hit random page and landed here, and the categories look fine at first glancehttp://www.cpcwiki.eu/index.php/Micha%27s_First_Demo

Source for that page:'''Micha's First Demo''' a demo by [[Micha]] of [[Wizcat]]

Release date: ?

<gallery caption="Micha's First Demo - screen shots">
Image:WIZCMICH screenshot 1.jpg|
Image:WIZCMICH screenshot 2.jpg|
</gallery>

[[Category:Demos]][[Category:Year unknown]]


The categories here don't seem that different to the ones I did (despite the defaultsort in the way):
{{DEFAULTSORT:Computing With The Amstrad 1985-12 Type-Ins}}
[[Category:Computing With The Amstrad Type-Ins]]

AMSDOS


Quote from: robbarton on 15:28, 08 July 20


Thanks Amsdos if you are able to do anything with Mouse - I am not familiar with the differences between the BASICs and how to do a conversion for 664/6128.


Seemed to be very straightforward for me to fix this one.


On this occasion TEST(xpos,ypos) was adequite to fix the problem, the tricky part is calculating the position of the little square your character makes when trying to fence in the Mouse, and everything being updated, graphical ypos coordinates are subtracted when the Mouse moves down the screen (the opposite of adding a Text Coordinate position.
On occasions the Mouse is able to get through the Inner Fence you make, this is normal as it was happening in the original game.
The other funny thing I noticed is when your character moves Left, Right, the character moving Left is Facing Right and So on, which was also a part of the original game.
I added a MODE 1 command at the Start of the game where it updates BORDER, INKs and Deleted the Unused CHAR CHECK routine.



10 REM*****MOUSE BY G.REDMAN*****
20 REM(c)Computing with the Amstrad
30 REM*****INITIAL SETTING UP*****
40 ON BREAK GOSUB 1350:KEY 139,"SPEED KEY 10,5:INK 1,25:PEN 1"+CHR$(13)
50 RANDOMIZE TIME:SPEED KEY 1,1
60 ad2=34999:GOSUB 1080
70 REM**MOUSE & MARKER CHARACTERS**
80 SYMBOL AFTER 200:SYMBOL 201,0,8,60,126,34,12,0,0
90 SYMBOL 202,0,16,60,126,68,48,0,0
100 SYMBOL 203,0,0,60,60,60,60,0,0
110 REM*COLOUR AND WINDOW SETTINGS*
120 MODE 1:BORDER 4:INK 0,0:INK 1,0:INK 2,0:INK 3,0:PAPER 0:CLS
130 WINDOW#2,2,39,25,25:WINDOW#4,2,39,2,23:PAPER#4,0:PAPER #2,2:PEN#2,0
140 t%=10000
150 GOSUB 750:REM**TITLE & INSTR***
160 REM***DRAW BORDER***
170 CLS:INK 3,0:PEN 3:PRINT STRING$(40,143)
180 FOR n=2  TO 25:LOCATE 40,n:PRINT CHR$(143);:NEXT
190 LOCATE 1,24:PRINT STRING$(40,143)
200 LOCATE 1,1:FOR n=1 TO 25:LOCATE 1,n:PRINT CHR$(143);:NEXT:INK 3,6
210 REM***SCORE WINDOW***
220 CLS#2:LOCATE#2,3,1:PRINT#2,"Your Score":s%=0:LOCATE#2,20,1:PRINT#2,"Best Score":LOCATE#2,30,1:IF t%<>10000 THEN PRINT#2,t%
230 REM*SOUND VARIABLES & START**
240 ENT 1,1,12,6,1,-12,6:ENV 1,6,-1,1
250 x%=INT(RND(1)*30)+4:y%=INT(RND(1)*20)+3:g%=INT(RND(1)*30)+4:h%=INT(RND(1)*20)+3:dir=INT(RND(1)*4)+1:PEN 2
251 gg%=(g%-1)*16+4:gh%=398-((h%-1)*16)-4
260 REM***MAIN PROGRAM LOOP***
270 IF dir=1 OR dir=2 THEN mou=202 ELSE mou=201
280 LOCATE g%,h%:PRINT CHR$(mou)
290 PEN 0:LOCATE#2,13,1:PRINT#2,s%:s%=s%+1
300 GOSUB 950:REM**MOVE MAN**
310 LOCATE g%,h%:PRINT CHR$(143):PEN 2
320 GOSUB 400:REM**MOVE MOUSE**
330 REM**LOOK FOR WALL**
340 IF TEST(gg%+i%,gh%)<>0 THEN m%=1:GOSUB 460
350 m%=0
360 IF TEST(gg%,gh%+j%)<>0 THEN m%=2:GOSUB 460
370 m%=0:GOTO 270
380 REM***END OF MAIN LOOP***
390 REM***MOVEMENT ROUTINE***
400 IF dir=1 THEN g%=g%+1:h%=h%+1:gg%=gg%+16:gh%=gh%-16:i%=16:j%=-16
410 IF dir=2 THEN g%=g%+1:h%=h%-1:gg%=gg%+16:gh%=gh%+16:i%=16:j%=16
420 IF dir=3 THEN g%=g%-1:h%=h%-1:gg%=gg%-16:gh%=gh%+16:i%=-16:j%=16
430 IF dir=4 THEN g%=g%-1:h%=h%+1:gg%=gg%-16:gh%=gh%-16:i%=-16:j%=-16
440 RETURN
450 REM**DIRECTION CHANGE ROUTINE**
460 IF x%=g% AND y%=h% THEN GOTO 570
470 SOUND 1,160,6,15,1,1,0
480 IF dir=1 AND m%=1 THEN dir=4:RETURN
490 IF dir=1 AND m%=2 THEN dir=2:RETURN
500 IF dir=2 AND m%=1 THEN dir=3:RETURN
510 IF dir=2 AND m%=2 THEN dir=1:RETURN
520 IF dir=3 AND m%=1 THEN dir=2:RETURN
530 IF dir=3 AND m%=2 THEN dir=4:RETURN
540 IF dir=4 AND m%=1 THEN dir=1:RETURN
550 IF dir=4 AND m%=2 THEN dir=3:RETURN
560 REM***MOUSE CAPTURED ROUTINE***
570 IF x%>36 THEN x%=36
580 IF y%>20 THEN y%=20
590 IF x%<3 THEN x%=3
600 IF y%<3 THEN y%=3
610 WINDOW#3,(x%-2),(x%+2),(y%-2),(y%+2):PAPER#3,3:CLS#3:PEN#3,2:LOCATE#3,2,2:PRINT#3,"GOT":LOCATE#3,2,4:PRINT#3,"HIM"
620 ENT 1,15,7,2,15,-7,2
630 FOR n=100 TO 250 STEP 2:SOUND 1,n,3,6,0,1,0:NEXT
640 SOUND 1,210,50,6,0,0,9
650 IF s%<t% THEN t%=s%-1
660 LOCATE #2,30,1:PRINT #2,t%
670 LOCATE 5,24:PEN 1:PRINT"  PRESS SPACE BAR WHEN READY   "
680 WHILE INKEY$<>" ":WEND
690 REM****REPEAT GAME****
700 CLS#4:LOCATE 5,24:PEN 3:PRINT STRING$(31,143):PEN 2:LOCATE 12,13:PRINT "Another game ? (Y/N)"
710 x$=UPPER$(INKEY$):IF x$="Y"THEN CLS #4:GOTO 220
720 IF x$="N" THEN GOTO 1350
730 GOTO 710
740 REM****TITLE & INSTRUCTIONS****
750 WINDOW#1,8,33,2,9:PEN#1,1
760 RESTORE 900
770 FOR n=1 TO 104
780 READ tit:PRINT#1,CHR$(tit);
790 NEXT
800 PEN#1,2:PRINT#1:FOR n=1 TO 13:PRINT#1,CHR$(202);CHR$(201);:NEXT n
810 PEN#4,3:LOCATE#4,1,8:PRINT#4,"   Using the joystick or the cursor   keys you  must  chase  the  mouse ";:PEN#4,2:PRINT#4,CHR$(202);;:PEN#4,3:PRINT#4,"and capture him."
820 PRINT #4:PRINT#4,"   To  do  this  you  must  move  yourman   to  the same position  as  the  mouse. The  trail   you  leave  behindwill act like a wall and  confine  themouse so you can capture him."
830 PRINT#4:PRINT#4,"   Do this as  fast  as  you can. The LOWEST score is the best."
840 PEN 2:LOCATE 5,23:PRINT "BEWARE, THIS MOUSE CAN GNAW !!!!"
850 LOCATE 10,25:PRINT "PRESS THE SPACE BAR.";
860 INK 1,14:INK 2,24:INK 3,15
870 WHILE INKEY$<>" ":WEND
880 CLS#4:RETURN
890 REM**DATA FOR TITLE******
900 DATA 214,32,32,32,32,215,32,32,214,143,215,32,32,214,32,215,32,32,214,143,215,32,32,214,143,215
910 DATA 143,215,32,32,214,143,32,32,143,32,143,32,32,143,32,143,32,32,213,210,32,32,32,143,210,32
920 DATA 143,213,215,214,212,143,32,32,143,32,143,32,32,143,32,143,32,32,32,208,215,32,32,143,208,32
930 DATA 213,32,213,212,32,212,32,32,213,143,212,32,32,213,143,212,32,32,213,143,212,32,32,213,143,212
940 REM***INKEYS/JOY m/c ROUTINE***
950 CALL ad2+1:in=PEEK(ad2):man=248
960 PEN 1:LOCATE x%,y%:PRINT CHR$(203)
970 IF in=8 OR in=242 THEN x%=x%-1:man=250
980 IF in=9 OR in=243 THEN x%=x%+1:man=251
990 IF in=11 OR in=240 THEN y%=y%-1:man=249
1000 IF in=10 OR in=241 THEN y%=y%+1:man=249
1010 IF x%>39 THEN x%=39
1020 IF x%<2  THEN x%=2
1030 IF y%>23 THEN y%=23
1040 IF y%<2 THEN y%=2
1050 PEN 2:LOCATE x%,y%:PRINT CHR$(man):PEN 0:SOUND 1,200,1,2,0,0,0
1060 RETURN
1070 REM***POKE INKEYS m/c***
1080 c=INT(ad2/256):b=ad2-256*c
1090 RESTORE 1160
1100 FOR n=ad2 TO ad2+13
1110 READ d:IF d=999 THEN d=b
1120 IF d=998 THEN d=c
1130 POKE n,d
1140 NEXT n
1150 RETURN
1160 DATA 0,62,0,50,999,998,205,27
1170 DATA 187,208,50,999,998,201
1340 REM*****END ROUTINE*******
1350 CLS:INK 1,25:PEN 1:LOCATE 1,13:PRINT "Type R to RUN again or E to END program.":SPEED KEY 10,5
1360 x$=UPPER$(INKEY$):IF x$="E" THEN END
1370 IF x$="R" THEN RUN
1380 GOTO 1360
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

robbarton

I've updated the pages for issues 13 and 14 (Jan - Feb 1986) on the wiki:

http://www.cpcwiki.eu/index.php/CWTA_Issue_13_-_January_1986_-_Type-Ins

http://www.cpcwiki.eu/index.php/CWTA_Issue_14_-_February_1986_-_Type-Ins


Many thanks Amsdos, I have gone back and amended the May 1985 page as follows:
-added a link to your amended Mouse code and uploaded the DSK image
-amended the note to say what the fix was (I hope this is right, please correct if not!)
-replaced the Mouse screenshot to one with a bit more action



robbarton

On the subject of wiki categories in case this makes any difference, I am editing using Firefox 78 on Linux Mint 19 (64 bit). I do have noscript installed but the wiki has all permissions allowed (of course!)

I doubt this has anything to do with it but just putting it out there as a possibility.

AMSDOS

Quote from: robbarton on 09:07, 11 July 20

Many thanks Amsdos, I have gone back and amended the May 1985 page as follows:
-added a link to your amended Mouse code and uploaded the DSK image
-amended the note to say what the fix was (I hope this is right, please correct if not!)
-replaced the Mouse screenshot to one with a bit more action


Many of them early action games had issues because they were using a technique (from early Amstrad BASIC books), which was altered when the other machines with BASIC 1.1 came out.


In a sense the CHAR CHECK routine would work in BASIC 1.1, but unlike BASIC 1.0, BASIC 1.1 needs to know the PEN or PAPER Colour.


Below I've attached a trial highlighting the issue, the 3 coloured squares I've tested the Bright White Square, while the PEN Colour is Green, followed by Bright White, so when the PEN colour is Green, COPYCHR$ is saying nothing is there (yet we can see it) and will only detect the Square while in the same PEN colour.
So in a game like Mouse with the 464 equivalent being used, the other machines hadn't picked up the different coloured squares, so CHAR CHECK failed and Improper Argument was the result because a variable = 0.


It's kinda a nice fault to rectify, especially when a listing is 35 years old and the adjustments I made makes it compatable on all the systems with slight improvement in performance because COPYCHR$ tends to be a little bit slower than TEST with direct graphical values being used.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3


scruss

Thanks!
I had to edit the CWTA Type Ins page again to make Issue 15 appear, but curiously, the wiki's showing no history of me editing that, and yet it's listed. There's something very wonky with this MediaWiki instance.


Gryzor

Quote from: scruss on 00:15, 14 July 20
Thanks!
I had to edit the CWTA Type Ins page again to make Issue 15 appear, but curiously, the wiki's showing no history of me editing that, and yet it's listed. There's something very wonky with this MediaWiki instance.


I can see History but there's only one edit available, which is probably unlikely?
http://www.cpcwiki.eu/index.php?title=CWTA_Issue_15_-_March_1986_-_Type-Ins&action=history

scruss

I edited the main CWTA Type-Ins index - http://www.cpcwiki.eu/index.php/CWTA_Type_Ins
If you go to that now, you should - unless someone's edited it - see a red link on "April 1986 (#16)". Click the red link: it should take you to an edit page, but the link resolves to CWTA Issue 16 - April 1986 - Type-Ins - CPCWiki.If you go back to the index page, you see a visited red link: in other words, one that doesn't exist, but somehow you've visited.  ???

robbarton

I've updated the wiki with issue 17:

http://www.cpcwiki.eu/index.php/CWTA_Issue_17_-_May_1986_-_Type-Ins

It's possible that my edit of the April 1986 page crossed over with scruss's investigations - I'm working sequentially through 1986 so any of the 1987 links won't be touched for a week if you want to try any other links.


Also big thanks in advance to Nich Campbell whose 1988 CWTA dsk images and accompanying text files I found. I'll be able to convert them into 12 dsk images one per month pretty easily, I just need to fill in the blanks on the other type ins (that's something I've not yet done but I know it's coming with Nov 1986!)

Nich

Quote from: robbarton on 16:20, 15 July 20
Also big thanks in advance to Nich Campbell whose 1988 CWTA dsk images and accompanying text files I found. I'll be able to convert them into 12 dsk images one per month pretty easily, I just need to fill in the blanks on the other type ins (that's something I've not yet done but I know it's coming with Nov 1986!)

If you are going to use my versions of the listings, then please be aware that I may have made some minor changes to several of them and they may not exactly match the listings that were published in the magazines. Some of these may be bugfixes but others may be commands like PAPER 0:PEN 1 (ensuring that the default pen and paper are used) or RANDOMIZE TIME (attempting to provide more randomness).

Johnny Olsen

It's relatively easy to check Nich's files.
In June 1987 came a checksum program, it made it much easier to debugged programs.

It is easy to use. Run the checksum program, load the file to be checked, call & 9000, check the numbers against the checksum listing.

robbarton

Updated issue 18 (June 1986) on the wiki:

http://www.cpcwiki.eu/index.php/CWTA_Issue_18_-_June_1986_-_Type-Ins

If I come across the files on CPC Power or type them myself, there might be both versions for the 1988 issues... I'll see how I feel about undoing your work on copies to reproduce "original" versions. In any case I'll definitely note where I've used your versions Nich, many include bug fixes from later issues which (in my opinion) makes them more attractive than the originals The edits you made are detailed in the text file that came with the dsk images and these will be the basis of the notes, if that's ok.






robbarton


robbarton


scruss


robbarton

 :o :-[   oops, thank you @scruss - 5 hours and I am still not awake!

Powered by SMFPacks Menu Editor Mod