== Some of my Routines ==
Block Editor.DSK
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=13965
* An early version of my working Block Editor which allows Multicoloured Block Images to be produced from Mode 0. Eventually I'll revise this program to include Loading & Saving, improve the controls, will also incorporate User Defined Palette, as well as Default CPC Palette.
Alien Landscape in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=13851
* Another BASIC 1.1 Demo from ACU which made use of FILL. To make this program work a whole library (RSXes) was used for Drawing & an alternative FILL routine was incorporated into that. Once the landscape has been drawn, pressing the Space Bar will produce a shooting meteor across the sky along with Sound Effects that are found in HP4T. Program will now work for all Amstrad users. :)
Serpent in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=13545
* Also a Type-in from an earlier AA, also BASIC 1.1, but had to modify this program in Pascal and include more Arrays in order for the effect to work, the culprit in this case was a slight variation in Result of a Decimal Number between BASIC & Pascal which resulted in some of the lines not being deleted when required.
Graphics in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=13528
* Produces an interesting Graphical effect, program was originally in AA65 Type-ins and was BASIC 1.1, though with simple incorporation of a Graphics Pen Procedure in HP4T, it's easily adaptable.
MOVBUB2.BAS
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=13309
* This BASIC version includes a M/C Loader to convert Pen Colours into Encoded INK for Fill Box to use as well as a routine to SCR HW ROLL, producing a faster version of Big Bub from BASIC (instead of relying on PRINT/LOCATE/PEN to slow things down further).
Move Big bub using Fill Box routine.asm
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=13230
* Moving Big Bub up the Screen, uses SCR FILL BOX and SCR HW ROLL to make it look like Big Bub is coming up to Greet you. This would of looked so cool in 1984 on a Loading Screen or Game Intro.
MOVBUB.BAS
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=13229
* BASIC version of Moving BUB up the screen.
8x8 mode 0 Sprite Generator.ZIP
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=12532
* Crude way of editing DATA statements to draw graphic to screen and then using something like ESD to grab it and make a Sprite from it. Program uses PEN numbers and PLOT is used to draw the graphic.
2D Rotating Square in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=11117
* Using a BASIC program to generate a Square in various positions, I've taken that information and can produce the effect of a square which appears to rotate. I thought this might of produced an interesting result for my bouncing ball, though haven't got back to it. :(
Plotting 2D Star Field in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=9569
* This produces a series of Stars (Pixels) that move down the screen, once they reach the bottom new ones appear at the top of screen in a different position. These pixels are represented in an array and program moves them accordingly without any physical movement happening to the screen.
LDI SCROLL 8
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=9477
* Routine to Push the Row down using LDI.
Star Scroll in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=9329
* A transformation from the original 10 Liner to Pascal using User Defined Graphics (UDG) for Space Ship & Random Number Function to simulate the Random Star Field. While the effect is similar to the original 10-Liner, the coding is anything but. :)
BOUNCY2.BAS
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=9264
* Draws a Text Ball which Bounces inside a Window which is made up of a Pattern, so in order for the Ball to Appear in front of the pattern, Transparent Mode is used to draw the ball on top of the Background and then the Background is restored when the Ball moves on.
3D Star Field in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=9262
* The only 3D Star Field I've come across which physically moves the stars towards you using BASIC, so the effect is slow, but when it's compiled and executed, the effect is more convincing. Usually whenever I've seen something done like this in BASIC it involves rotating the ink palette to create the illusion of movement.
More dodgy Random Number Generator in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=9220
* This one also produced skewed results, though from Discussions was able to fix this using a Real data type for result and alter line 100 to read "result:=(range/maxint);" and line 110 to read "result:=(seed*result);", to produce a more accurate range of random numbers in HP4T.
Random 8bit Numbers in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=9048
* This uses a simple Assembly 8bit Random Generator found in the programming area on CPCWiki, though have adapted it to function in HP4T.
Circle in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=8861
* Simply a rewrite of the Locomotive BASIC Circle from the Amstrad Manual, though this program shows how to calculate the circle in DEGrees which is a little bit trickier to do in Pascal.
Random Number Experiment in Hisoft Pascal 4T
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=6394
* Not a very convincing Random Number Generator that I knocked up in HP4T
Rotating Box using DRAWR
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5693
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5694
* Both these examples are using DRAWR to Rotate the box, only difference between them is their positions.
Spiral.ZIP
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5689
* Modified Twister Type-in from AA58 to use LDIR Scroll which produces an interesting Smooth effect. SPIRAL1.BAS retains one colour while SPIRAL2.BAS randomly alters colours.
Rotate Box.zip
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5504
* Example using BASIC & Assembly to produce a rotating Box using GRA LINE ABSOLUTE.
BOXDATA.BAS
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5470
* Modified program from HAL6128 to display the positions of the Box of the Left of screen and the new positions on the Right Hand Side.
BOXMOV.BAS
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5445
* An early attempt of Rotating a Box
EVERY.BAS
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5386
* Demonstration of the EVERY command
BASGRA.BAS
* This Graphical Mandelbrot Program was originally knocked up in Turbo Pascal 6 or 5.5, I converted it to run in Turbo Pascal 3 on in DOS & CP/M-86 1.1 on an IBM compatable and this is what I knocked up for it to work on a CPC in CP/M 2.2, so it uses CPC Specific instructions to plot the mandelbrot and not GSX!
--[[User:CPM User|CPM User]] 11([[User talk:59CPM User|talk]]) 14:32, 30 September 2012 16 April 2015 (EEST)