News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Zoe Robinson

CPCine The Amstrad CPC Video Magazine

Started by Zoe Robinson, 13:38, 26 February 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ComSoft6128

#25
Thanks Zoe!

Good balance between games and serious software.

Cheers,

Peter

Zoe Robinson

Thanks Peter. I'm trying very hard to maintain a proper balance between games & serious stuff. The Amstrad was always a lot more than a simple games machine to a lot of us (myself included) so I think it's important to maintain that balance.

Arnold

#27
well time flew watching these first 3 episodes it seemed like 20 minutes overall when it actually was 80 or so or in other words soo cool thank you very much . . . can only hope you would as you said in another video on your splendid channel continue doing these things out of a passion and also fun while creating them even without thousands of subscribers or foreseeable great monetary gain sort of like what I am doing as for my getting into app development it sure would be cool to get a cup of coffee out of it occasionally but whatever I also enjoy the process of creating such things . . . again thanks and keep going . . . gambatte  ;)

Zoe Robinson

I'm really glad you enjoyed it, and especially glad it didn't seem like it took that long to watch. When I'm making these videos I'm always worried that they seem too long!


And don't worry, I'm going to keep going and always do my best.


Hai, ganbarimasu! :D

Zoe Robinson

Due to the recent excessive workload I've had, CPCine episode 4 had to be delayed. I'm expecting more workload issues in the future, so I've taken the decision to switch to a monthly schedule instead of the fortnightly one I was attempting at first.


Episode 4 is due next week.

Zoe Robinson


http://www.youtube.com/watch?v=Sk4qigHuMWg

Episode 4 of CPCine, the Amstrad CPC Video Magazine is finally online (sorry this one was delayed, we had a major incident earlier in the week and it prevented me finishing the edit).

This month's episode features all the Amstrad news for October 1984 plus: 2 special feature segments (the first CPC electronic magazine and Pascal on the CPC), 2 type-ins competing head-to-head with one-another, 2 modern game reviews, plus we take a look at an early platform game and try to fly a 737 via Flight Path 737.

This month's type-ins can be downloaded in .DSK format by downloading the attachment to this post.

The Missing Software list on the CPC wiki is at: http://www.cpcwiki.eu/index.php/Missing_software

ComSoft6128

Thanks Zoe,

Always look forward to your vids.

Cheers,

Peter

Zoe Robinson


GUNHED

45 Minutes of pure CPC fun! Thank you very much! You did really put lots of effort in and it's fun watching your video! Keep it going!  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

ComSoft6128

Totally agree with you GUNHED, a lot of work goes into these videos and it is appreciated.

Cheers,

Peter

mr_lou

I have to admit that I just can't get through 45 minutes straight.

And considering each video does contain a lot of different topics, I would like to suggest that each issue is split up into several videos that is selectable from a menu. Or YouTube bookmarks would probably also do. Like in the description of the video, add links to bookmarks in the video, with titles of each chapter. That would help I think.

Zoe Robinson

Hmm... I might be able to add time stamps into the description box but YouTube will point blank refuse to add links into the video itself. Sadly, they took that annotation ability out of the system when they brought in end cards.

mr_lou

Here's an example of what I mean:


https://www.youtube.com/watch?v=SF58Lsvqg5E

The "Tracklist" in the description, lets you jump into specific parts of the video.

Zoe Robinson

That is exactly what I said.

AMSDOS

#39
Quote from: Zoe Robinson on 21:50, 07 June 18

http://www.youtube.com/watch?v=Sk4qigHuMWg



Originally I was using Turbo Pascal 3 after I was using it quite a bit on the PCs under DOS, followed by CP/M-86 and it was a good platform for converting DOS programs to CP/M-86. Most of those PC programs I translated used hardware specific interrupts to work, though it was a fairly easy to translate programs to CPC, by just knowing what something did on the PC and replacing it with a bit of CPC Firmware.



Advantages/Disadvantages with Turbo Pascal on the Amstrad

AdvantagesDisadvantages
Nice Text EditorLimited 1 phase compiler that compiles only to CP/M
Fairly easy to port programs from PC version of TPPoor execution times of Mathematical problems
Supports Constant Arrays to improve execution timesTraditional Pascal can manage that using SETs.
Comprehensive Manual covers every version.Unfriendly GSX support


Advantages/Disadvantages with Hisoft Pascal on the Amstrad



AdvantagesDisadvantages
Fairly close representation of traditional PascalOnly a simple Line editor
Allows the coder to easily access the FirmwareNo support for Constant Arrays
Good execution speedsPrograms limited to 20Kb
Main keywords are tokenised to save spaceFixed Length Strings
Compiler supports library files at compile time for larger programs.


There could be some arguments about those Advantages/Disadvantages, like tokenised files may seem to be a burden, Hisoft Pascal 4t like the early Devpac produces an unusual file which isn't compatible with Text Editor. For Hisoft Pascal the tokenised things are line numbers, number of spaces following a line number & keywords (which are documented in the manual), everything else like procedure names, variable names & even types is stored as ASCII between the encoding, so using short named procedures and variable names would help, unfortunately comments would also take up space despite being ignored at compile time. But I've stuck with it. I haven't had anyone ask me for the Source Code for Get The Cash which is quite intense and Kukulcan on cpc-power was able to do a database search and record all the programs that were written in Hisoft Pascal, which is also interesting.
* 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

Zoe Robinson

Woah, that's a lot of cool info. Thank you! :)

Dabz

Nice vid, some memories there! :)


But am I the only one to noticed the "Helicopter Fury" title on the page in the magazine has a picture of a bloody plane underneath it!  :P


Whats happened there!?!  ;D


Dabz

Zoe Robinson

Quote from: DabzBut am I the only one to noticed the "Helicopter Fury" title on the page in the magazine has a picture of a bloody plane underneath it! :P

Yeah, I don't know what's going on there. It's stupid.

Decent enough game though.

AMSDOS

I remember typing in that Helicopter Fury game which was a couple of years ago now (maybe even 4 when that program reached 30 years old). I recall the picture, but couldn't remember what it was until I rechecked, as it turns out it's a windup toy plane. I guess they thought that since it was another flying contraption bombing another city, there've thrown in a plane. Lots of those bomb a city games were floating around in Books and Magazines in 1984 probably just as many as Breakout clones.


I made some examples to further explain the Advantages and Disadvantages, when compared to the BASIC equivalent, the Pascal versions both seem to complicate things, as such I'm sure it's possible to write a procedure to redefine the character set.


BASIC Example:




10 MODE 0
20 SYMBOL 252,0,0,4,10,17,36,42,42
30 SYMBOL 253,0,0,32,80,136,36,84,84
40 SYMBOL 254,36,17,12,11,8,16,32,0
50 SYMBOL 255,36,136,48,208,16,8,4,0
60 LOCATE 10,10:PRINT CHR$(252);CHR$(253);
70 LOCATE 10,11:PRINT CHR$(254);CHR$(255);



Simply displays a 16x16 image around the middle of the screen, by default BASIC doesn't require SYMBOL AFTER until you begin redefining characters below 240.


Turbo Pascal 3 Example:




program printblock;


const sprite : array[1..32] of byte =
               (0,0,4,10,17,36,42,42,
                0,0,32,80,136,36,84,84,
                36,17,12,11,8,16,32,0,
                36,136,48,208,16,8,4,0);


var matrix : array[1..32] of byte absolute $9000;


procedure mode(mo:byte);
begin
  inline($3A/mo/
         $CD/$9B/$BE/
         $0E/$BC)
end;




procedure setmatrix;
begin
  inline($11/$FC/$00/
         $21/$00/$90/
         $CD/$9B/$BE/
         $AB/$BB)
end;


var x,y : byte;
    loop: byte;


begin
  mode(0);
  setmatrix;
  for loop:=1 to 32 do
     mem[$8FFF+loop]:=sprite[loop];
  gotoxy(10,10);
  write(chr(252)); write(chr(253));
  gotoxy(10,11);
  write(chr(254)); write(chr(255));
  repeat until keypressed;
  mode(2)
end.



In this example a CONSTant Array has been setup along with an Array positioned at a place in memory &9000. As Turbo Pascal 3 operates under CP/M 2.2, CP/M 2.2 may have a way of redefining graphics, though I've complicated the program through the use of Inline Machine Code, to switch screen modes and setup a character matrix, to do that under CP/M 2.2, I can use the Enter Firmware call (&BE9B), which looks like $CD/$9B/$BE/ in the Inline Machine Code, followed by the 2 bytes of the Firmware command. So for TP3, the code has moved outside the scope of Pascal, it's also limited in that Turbo Pascal 3 can compile programs for either CP/M 2.2 or CP/M Plus, though this bit of code isn't CP/M Plus Compatible. While the result and outcome is the same as the BASIC, the technique of redefining the characters is different. In BASIC terms, it's like applying SYMBOL AFTER 252, a portion of character set gets transferred to memory with the default character set, simply transferring the data you want in it's place and you've got your redefined characters without using SYMBOL.


Hisoft Pascal Example:



   10 PROGRAM PrintBlock;
   20
   30 TYPE gfx = 0..208;
   40      spr = SET OF gfx;
   50      character = ARRAY[1..32] OF char;
   60
   70 VAR dat : ARRAY[1..16] OF char;
   80     mygfx : character;
   90
  100 PROCEDURE SetupGfx;
  110 VAR c : spr;
  120     ps : integer;
  130     lp : integer;
  140 BEGIN
  150   ps:=1;
  160   c:=[0,4,8,10,11,12,16,17,32,36,42,48,80,84,136,208];
  170   FOR lp:=0 TO 208 DO
  180   BEGIN
  190     IF lp IN c THEN
  200     BEGIN
  210       dat[ps]:=chr(lp);
  220       ps:=ps+1
  230     END
  240   END
  250 END;
  260
  270 PROCEDURE DefineGFX(d : character);
  280 VAR c1 : integer;
  290     c2 : integer;
  300     p  : integer;
  310     d1 : integer;
  320     gx : ARRAY[1..8] OF char;
  330 BEGIN
  340   p:=1;
  350   FOR c2:=1 TO 4 DO
  360   BEGIN
  370     FOR c1:=1 TO 8 DO
  380     BEGIN
  390       d1:=ord(d[p])-64;
  400       gx[c1]:=dat[d1];
  410       mygfx[p]:=gx[c1];
  420       p:=p+1
  430     END
  440   END
  450 END;
  460
  470 PROCEDURE SetMatrixTable(ch : integer);
  480 BEGIN
  490   rde:=ch;
  500   rhl:=addr(mygfx);
  510   user(#bbab)
  520 END;
  530
  540 PROCEDURE Locate(x,y : integer);
  550 BEGIN
  560   rh:=chr(x);
  570   rl:=chr(y);
  580   user(#bb75)
  590 END;
  600
  610 PROCEDURE Mode(no : integer);
  620 BEGIN
  630   ra:=chr(no);
  640   user(#bc0e)
  650 END;
  660
  670 BEGIN
  680   SetupGfx;
  690   SetMatrixTable(252);
  700   DefineGFX('AABDHJKKAAIMOJNNJHFECGIAJOLPGCBA');
  710   Mode(0);
  720   Locate(10,10);
  730   write(chr(252)); write(chr(253));
  740   Locate(10,11);
  750   write(chr(254)); write(chr(255));
  760   user(#bb18);
  770   mode(2)
  780 END.



Without the support of data from within a const array, Pascal sets seems to be the next best thing, however it involves taking all the data from the SYMBOL tables as defined in BASIC (it's only needed once). Sets are created by defining types, in my case I can specify what the data is by defining it's numerical range, though it could mean other things as well, for the set I've called mine spr for sprite, a 3rd type has been created for later in the program where I need to pass a series of string letters to a procedure, that 3rd type is an array of a specific size, if the length of my string is too short or too long, Hisoft Pascal will complain (one of the disadvantages I mentioned earlier). In order to get this to work, 2 procedures are required, the 1st SetupGFX sets up the set with "c" variable pointing to the set, from there all the values I need can be put into c, it doesn't matter how long that is, as long as the data is in range of the data specified in gfx. From there I've setup a loop which checks all the positions, if a loop position finds a value which resides in "c", the value of the loop position gets stored into the array, the funny thing about this is while I've placed all the values in order in my pascal set, it doesn't matter how it's arranged, for example if 0 was last in 0 and 208 was first, 0 and 208 will still be 1st and last in my array. This is where the 2nd procedure has to come in. DefineGFX holds a series of data, held in d, which is of type character. Each bit of data I've made representing a letter, that letter is converted into a value and subtracted to produce a position value that can be used with the "dat" array. For example the first character is "A", converted into a value it has a value of 65, subtract 64 and that becomes 1, I can place that into the dat array which gives me my 0 value, which can then be stored into my final defined graphics, this happens 8 times moving along each letter just to specify what to use, the 2nd loop above that one has to loop 4 times because there are 4 characters to redefine. So out of the 4 BASIC Symbol commands the 32 Bytes of data are specified through each letter, which is tedious.
Unlike the Turbo Pascal example, Hisoft have made it much friendlier to access the firmware making it easy to access the Registers and calling a Firmware instruction with the appropriate registers in use. Like the Turbo Pascal example this example also specifies an area to define the character set to before defining what values need to be placed there, once that's done the program displays the same creature.  :)
* 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

Zoe Robinson

Hi everyone!

Sorry this one's a bit late but here's episode 5 for your viewing pleasure!


http://www.youtube.com/watch?v=K9D8Hn0Gbrk

This month's episode contents list:

00:00 Title Sequence
01:34 News
08:32 New Releases
12:00 Charts
13:30 DR Logo
17:03 Classic vs Colossal Adventure
23:55 Type-in Review: Kingdoms
26:53 CP/M on the CPC
33:13 New Game Review: Laser Boy
35:58 Demo Review: Face Hugger's Ultimate Megademo
42:13 Software Review: Amsword
47:20 Final Thoughts

Hope you like it! :D

AMSDOS

#45
Quote from: Zoe Robinson on 15:12, 13 August 18

This month's episode contents list:

00:00 Title Sequence
01:34 News
08:32 New Releases
12:00 Charts
13:30 DR Logo
17:03 Classic vs Colossal Adventure
23:55 Type-in Review: Kingdoms
26:53 CP/M on the CPC
33:13 New Game Review: Laser Boy
35:58 Demo Review: Face Hugger's Ultimate Megademo
42:13 Software Review: Amsword
47:20 Final Thoughts

Hope you like it! :D


Thanks for the Time Index, very useful. :) 


Regarding Kingdoms, you'll be surprised to know it was published in Issue 1 of The Amstrad User Feb. '85. Here's the page links for it:


http://www.cpcwiki.eu/index.php/File:TAU_Page04.jpeg
http://www.cpcwiki.eu/index.php/File:TAU_Page05.jpeg
http://www.cpcwiki.eu/index.php/File:TAU_Page06.jpeg
http://www.cpcwiki.eu/index.php/File:TAU_Page07.jpeg


In addition, R. Chapman of Glenbrook, NSW, Aust, thought the game was a bit unfair (which probably didn't make it in the UK magazine), this was their corrections:



85 mx=0 : REM sets initial value to zero
310 GOTO 85
420 e=0:bl=b
990 IF aa/10>a*0.6 THEN a=INT(a+aa/20) ELSE a=INT(a-aa/20)
995 IF b>3*bl THEN b=bl*3:mx=bl:GOTO 1010
1000 IF b>mx THEN mx=b
1005 b=bb/6
1010 IF b<0.7*mx THEN af=1 ELSE af=0
DELETE 1020
* 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

ComSoft6128

#46
Hi Zoe,

Just finished watching the latest episode. Superb.
Good balance between all the subjects covered.
Informative and entertaining at the same time.

Totally agree with you regarding the Facehugger Megademo, I think it was a programmer in London (in 93?) that showed it to me. You could have picked my jaw off the floor. I had never seen anything like it on the CPC, simply astonishing and still beautiful.
We used to display it at the WACCI stand (from 94 - 96) at the All Format computer shows in Glasgow and Edinburgh, to show what the CPC was really capable of.  It was a head turner, especially for the Atari and Amiga users.

Thanks,

Peter





Zoe Robinson

Thank you. I'm glad you enjoyed it. :)


The Ultimate Megademo is amazing, it's by far my favourite demo. I can absolutely see why Amiga & ST owners would want to see it - there are things in there that look like the kinds of demos that would turn up on their machines (although I have to say I was never a fan of 16-bit demos since they seemed more like acid house music videos than demos and I've never been into those).


With regard to the balance between serious and games, I'm trying to keep that going. It's going to get harder as we get further into the CPC's life (games became far too dominant in that respect) but I'll keep trying. :)

Dabz

I was just wondering if there was a new youTube vid up... And voila!!! :)


*Heads off to make a brew before watching*


Dabz

Zoe Robinson

It's that time again: time for a new episode of CPCine! This month it's December 1984, so let's take a look at Arnold's first Christmas!



http://www.youtube.com/watch?v=SwdeVEPOoOI



This month's episode contents include:


02:04 News
10:28 New Releases
15:23 Charts
16:59 Tasword review
20:52 Manic Miner review
24:12 Type-in review (Star Wars Trench Run demo)
29:34 How to record from your Amstrad CPC
35:53 X-Cape review
37:39 The Dawn of Kernel review
40:36 Final thoughts

Powered by SMFPacks Menu Editor Mod