Difference between revisions of "User:CPM User"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Programming Contributions)
Line 19: Line 19:
  
 
Hisoft Pascal 4T Boucy2  
 
Hisoft Pascal 4T Boucy2  
 +
 
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=5133
 
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=5133
  
* With the previous routine of a Bouncing Ball, I've enhanced it by incorporating the Plot Image assembly routine into my Pascal program as an RSX which shows the program to be running faster than the previous one.
+
* With the previous routine of a Bouncing Ball, I've enhanced it by incorporating the Plot Image assembly routine into my Pascal program as an RSX which shows the program to be running faster than the previous one. Plot Image routine as been modified to work anywhere on screen.
  
 
Hisoft Pascal 4T Bouncy  
 
Hisoft Pascal 4T Bouncy  
 +
 
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=5112
 
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=5112
  
Line 29: Line 31:
  
 
Hisoft Pascal Programs  
 
Hisoft Pascal Programs  
 +
 
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=5111
 
http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=5111
  
Line 34: Line 37:
  
 
SCR_PIXEL Demonstration  
 
SCR_PIXEL Demonstration  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5049
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5049
  
Line 39: Line 43:
  
 
SCR_PIXEL Source   
 
SCR_PIXEL Source   
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5048
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5048
  
Line 45: Line 50:
  
 
BASSPR.BAS  
 
BASSPR.BAS  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5043
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5043
  
Line 50: Line 56:
  
 
Starscrl CPM  
 
Starscrl CPM  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5013
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5013
  
Line 55: Line 62:
  
 
Starscrl AMSDOS  
 
Starscrl AMSDOS  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5002
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5002
  
Line 60: Line 68:
  
 
All the BASIC stupid mistakes I've made solved.zip
 
All the BASIC stupid mistakes I've made solved.zip
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2972
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2972
  
Line 65: Line 74:
  
 
Final Big Bub Using Fill Box Routine using SCR_FILL_BOX  
 
Final Big Bub Using Fill Box Routine using SCR_FILL_BOX  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2529
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2529
  
Line 70: Line 80:
  
 
Big Bub Using SCR FILL BOX Routine 2  
 
Big Bub Using SCR FILL BOX Routine 2  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2520
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2520
  
Line 75: Line 86:
  
 
Big Bub using SCR FILL BOX  
 
Big Bub using SCR FILL BOX  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2515
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2515
  
Line 80: Line 92:
  
 
Win7.BAS  
 
Win7.BAS  
 +
 
http://www.cpcwiki.eu/forum/off-topic/linux/?action=dlattach;attach=1909
 
http://www.cpcwiki.eu/forum/off-topic/linux/?action=dlattach;attach=1909
  
Line 85: Line 98:
  
 
Plot Image 2.asm  
 
Plot Image 2.asm  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1827
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1827
  
Line 90: Line 104:
  
 
Plot Image 3.asm  
 
Plot Image 3.asm  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1828
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1828
  
Line 95: Line 110:
  
 
Plot Image 4.asm  
 
Plot Image 4.asm  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1829
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1829
  
Line 100: Line 116:
  
 
sormaker.bas  
 
sormaker.bas  
 +
 
http://www.cpcwiki.eu/forum/programming/winape-assembler/?action=dlattach;attach=1792
 
http://www.cpcwiki.eu/forum/programming/winape-assembler/?action=dlattach;attach=1792
  
Line 105: Line 122:
  
 
ldirscrl.zip  
 
ldirscrl.zip  
 +
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1613
 
http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1613
  
Line 110: Line 128:
  
 
Plot Image.asm  
 
Plot Image.asm  
 +
 
http://www.cpcwiki.eu/forum/programming/understanding-scr-horizontal-scr-vertical/?action=dlattach;attach=1596
 
http://www.cpcwiki.eu/forum/programming/understanding-scr-horizontal-scr-vertical/?action=dlattach;attach=1596
  
Line 115: Line 134:
  
 
scrhoriz done.asm  
 
scrhoriz done.asm  
 +
 
http://www.cpcwiki.eu/forum/programming/understanding-scr-horizontal-scr-vertical/?action=dlattach;attach=1587
 
http://www.cpcwiki.eu/forum/programming/understanding-scr-horizontal-scr-vertical/?action=dlattach;attach=1587
  
Line 120: Line 140:
  
 
Mandelbrot.dsk  
 
Mandelbrot.dsk  
 +
 
http://www.cpcwiki.eu/forum/webcpc-presentations/5k-demo-3/?action=dlattach;attach=900
 
http://www.cpcwiki.eu/forum/webcpc-presentations/5k-demo-3/?action=dlattach;attach=900
  

Revision as of 06:50, 2 September 2012

So glad to see the CPC-Wiki is still with us! I came here a while back after discovering the CPC Forum had disappeared and discovered this was down as well! :o

My first computer I was using was an Amstrad CPC464 which was more or less the family computer - circa 1984. Initally I didn't know much about computers and I even recall having problems using the keyboard. The CPC464 we had was bare bones, no Disc Drive, or colour monitor, in some ways it was good having a Green Screen - early in the piece my Dad got a Modulator (MP1?) to plug our computer to the TV, but ended up returning it because he wasn't satisfied by the quality of it! :( There was one type-in from the Manual I could type-in because it didn't use and Shift Key labels to make it work and everything else was CTRL+Small Enter key to load the games! Joysticks were always being broken too from games like Astro Attack and Harrier Attack due to fast reactions from the user, which was a thing in the past in the late 80s when after purchasing AA44 which had a Joystick special in it, I went out and brought a Star Cursor Joystick. Still have it today though I brought an Amstrad CPC6128 with Colour Monitor in the early 90s.

These days unfortunately I'm more involved out in the Environment, I still have the old CPC6128 - we gave away our CPC464 cause nobody else seemed to want it, I was doing some stuff on my old IBM PC with Caprice32 emulator, unfortunately the hard disk on that computer seems to be on it's way out and was looking to replace it with a Emulator for my Mac Based Laptop.

Hey man! Welcome to the wiki! You've been greatly missed mate... please do drop by the forum! Gryzor 07:32, 25 July 2010 (UTC)

These Days

I feel I want to contribute to the scene with the aid of writing Turbo Pascal programs and applying Machine Code routines to those programs to generate something inbetween the quality of an Assembly program and BASIC program!

In addition to Turbo Pascal I'm looking at another Amstrad Pascal Compiler. Hisoft Pascal 4T which is slightly older than Turbo Pascal again, though compiles programs under AMSDOS. Unfortunately while I like CP/M 2.2 and Turbo Pascal 3 and it's abilities, it's drawback is it only compiles CP/M "com" files. Not that there's anything wrong with that, it just seems CP/M community don't appreciate this, I've had some other issues in the way CP/M handles itself on a 64k system which makes it annoying to use if it's a 1 Disc setup. :(

Programming Contributions

Hisoft Pascal 4T Boucy2

http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=5133

  • With the previous routine of a Bouncing Ball, I've enhanced it by incorporating the Plot Image assembly routine into my Pascal program as an RSX which shows the program to be running faster than the previous one. Plot Image routine as been modified to work anywhere on screen.

Hisoft Pascal 4T Bouncy

http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=5112

  • Using an existing Turbo Pascal I'd made years ago which is on my Pascal website which simulates a Bouncing Ball inside a Square, I've modified the program to work in Hisoft Pascal, which is using the original routine I had from the original program to Draw the Ball and move it.

Hisoft Pascal Programs

http://www.cpcwiki.eu/forum/programming/hisoft-pascal-4t/?action=dlattach;attach=5111

  • A couple of examples which use TIN & TOUT Hisoft Pascal 4T routines, which let you write numbers into an Array which is then saved, and a routine to load and display those values again.

SCR_PIXEL Demonstration

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5049

  • The Demonstration program using SCR_PIXEL to show how it could be used to animate an Sprite onscreen.

SCR_PIXEL Source

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5048

  • This is the Source Code for SCR_PIXEL, another firmware instruction which allows you to plot a point to screen using

pixel masks, however this routine also requires a PEN mask which kind of complicates things.

BASSPR.BAS

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5043

  • This is a little BASIC Sprite Routine, I just wrote it to see how Mask values work in conjunction with Screen Memory.

Starscrl CPM

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5013

  • Same as below, but works in CP/M 2.2 and main program has been compiled in Turbo Pascal 3.

Starscrl AMSDOS

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=5002

  • This is an redefined version of Starscrl from my Website which uses LDIR scroll & Plot Image routine to simulate the original 10-Liner Demo. Done in BASIC.

All the BASIC stupid mistakes I've made solved.zip

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2972

  • A collection of Misc problems from Silly Programming Ideas thread.

Final Big Bub Using Fill Box Routine using SCR_FILL_BOX

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2529

  • Though this is the most refined version of these routines.

Big Bub Using SCR FILL BOX Routine 2

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2520

  • This version of the last routine has been commented.

Big Bub using SCR FILL BOX

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=2515

  • Uses SCR FILL BOX to draw a large image of BUB to screen fairly quickly in 8x8 size pixels.

Win7.BAS

http://www.cpcwiki.eu/forum/off-topic/linux/?action=dlattach;attach=1909

  • A prank.

Plot Image 2.asm

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1827

  • Plots an 8x8 Image on screen, though unlike the original Plot Image, it's ignoring any Zero's which are in the image which will result in anything which would normally go behind a zero would be kept in these circumstances.

Plot Image 3.asm

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1828

  • This is like Plot Image 4.asm except it's using INC to increment when processing the image through GRA PLOT ABSOLUTE. Any parts of the image which uses zero is also skipped.

Plot Image 4.asm

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1829

  • This routine draws a larger image (15x23) onto the screen, like Plot Image 3.asm it's skipping the need to process any of the 0s found in the image, so anything which would normally go behind that would remain, kind of works. Is very similar to Plot Image 3 except it's using ADD instruction for incrementing rather than ordinary INC which PI3 uses.

sormaker.bas

http://www.cpcwiki.eu/forum/programming/winape-assembler/?action=dlattach;attach=1792

  • Example of converting some data into some assembly bytes I think. :)

ldirscrl.zip

http://www.cpcwiki.eu/forum/programming/silly-programming-ideas-turning-text-into-graphics/?action=dlattach;attach=1613

  • My early example of physically scrolling the screen down a byte using LDIR assembly instruction.

Plot Image.asm

http://www.cpcwiki.eu/forum/programming/understanding-scr-horizontal-scr-vertical/?action=dlattach;attach=1596

  • This routine will Plot an Sprite using GRA PLOT ABSOLUTE creating an 8x8 Image. This routine and the following Plot Image routines work in an area of Bytes due to the way I'm subtracting my value of XPOS using A, however simple modifications can be done to make it work for the entire screen.

scrhoriz done.asm

http://www.cpcwiki.eu/forum/programming/understanding-scr-horizontal-scr-vertical/?action=dlattach;attach=1587

  • This is one of many ways I used the Firmware using SCR_HORIZONTAL to make a Sprite and XOR Sprites can be done in conjunction with SCR ACCESS. It's kind of limited when it comes to moving something across the screen has to be done in jumps, moving something down the screen works though.This is due to the nature of SCR HORIZONTAL using Encoded PEN instead of Encoded Byte Masks.

Mandelbrot.dsk

http://www.cpcwiki.eu/forum/webcpc-presentations/5k-demo-3/?action=dlattach;attach=900

  • 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!

--CPM User 10:47, 2 September 2012 (UTC)