pouët.net

Go to bottom

Line Feed by Defence Force [web]

========================================    
.____    .__                 
|    |   |__| ____   ____    
|    |   |  |/    \_/ __ \   
|    |___|  |   |  \  ___/   
|_______ \__|___|  /\___  >  
        \/       \/     \/   
        ___________               .___
        \_   _____/___   ____   __| _/
         |    __)/ __ \_/ __ \ / __ | 
         |     \\  ___/\  ___// /_/ | 
         \___  / \___  >\___  >____ | 
             \/      \/     \/     \/ 

========================================
    An Oric MCP40 Printer Color demo
                by Dbug
           at Solskogen 2016
========================================
         Release date: July 2016
========================================
    ___      __                     
   /   \___ / _| ___ _ __   ___ ___ 
  / /\ / _ \ |_ / _ \ '_ \ / __/ _ \
 / /_//  __/  _|  __/ | | | (__  __/
/___,' \___|_|  \___|_| |_|\___\___|
   ___                  
  / __\__  _ __ ___ ___ 
 / _\/ _ \| '__/ __/ _ \
/ / | (_) | | | (__  __/
\/   \___/|_|  \___\___|

========================================
About this intro:
========================================
I hate to go to a party an not
release anything. 

I had nothing ready, but I had my Oric
with me, as well as a printer I got from
eBay few weeks earlier... so I decided 
to try coding something on the party
place.

After hours wasting paper and pens in
broken experiment I finally ended up
with a somewhat decent but way too long
small 'demo' :D

========================================
How can I watch this?:
========================================
Well, that's why there is a video:

As far as I know, there's no emulator as
of today that emulate the graphic printer,
so you will have to use a real Oric Atmos 
or Pravetz 8D as well as a real MCP 40
printer.

Then it's just a matter of loading the 
BASIC program and run it.

And there goes the source code:
========================================
10 REM 
20 REM Oric MCP40 demo
30 REM 
70 HIMEM #6000:POKE#1A,96 
80 TEXT:PAPER4:INK6:CLS
90 HIRES:PAPER7
95 !LOAD"LOGO.BIN"
100 PRINT "Oric MCP 40 MiniDemo"
101 'GOTO 11000
102 GOSUB 7000   ' Pen degreasing
105 GOSUB 4000   ' Defence Force demo
110 GOSUB 5000   ' Retro frame
120 GOSUB 6000   ' Credits
128 GOSUB 7000   ' Rasters
130 GOSUB 8000   ' Blue crossing lines
131 GOSUB 7000   ' Rasters
140 GOSUB 9000   ' Random patterns
145 GOSUB 7000   ' Rasters
150 GOSUB 10000  ' Scroller
155 GOSUB 7000   ' Rasters
160 GOSUB 3000   ' Sinus stuff
165 GOSUB 7000   ' Rasters
199 END

200 REM RESET POSITION
210 LPRINT CHR$(18);"A";CHR$(18)
220 LPRINT "I":LPRINT"S1":LPRINT"L0"
230 LPRINT "C0"  ' Black pen
239 RETURN

2000 REM LINE TYPE DEMO
2010 LPRINT CHR$(18)
2020 FOR I=0 TO 15
2030 LPRINT "I"
2040 LPRINT "L";I
2050 LPRINT "P";"LINE TYPE :" ; I 
2060 LPRINT "D400,0"
2070 LPRINT "M0,-20"
2080 NEXT I
2090 LPRINT CHR$(17)
2100 RETURN

3000 REM SINUS STUFF DEMO
3005 GOSUB 200   ' Reset position
3010 LPRINT CHR$(18);"I"
3020 LPRINT "M240,-240"
3030 LPRINT "I"
3040 LPRINT "M0,0"
3050 A=10:B=30
3060 REPEAT
3070 GOSUB 3200
3080 B=A:A=A+20
3090 GOSUB 3200
3100 B=B+40
3110 UNTIL B=210
3120 B=200:GOSU8 3200
3130 LPRINT "M100,-250"
3140 LPRINT "PHI!"
3150 LPRINT CHR$(17)
3160 END
3200 LPRINT"M";A;",0"
3210 FOR M=0 TO 2*PI STEP PI/100
3220 X=A*COS(M):Y=B*SIN(M)
3230 LPRINT"D";X;",";Y
3240 NEXT
3250 LPRINT"D";A;",0"
3260 RETURN 

4000 REM Hello Solskogen
4010 GOSUB 200   ' Reset position
4030 LPRINT "L0":LPRINT"R0,-60"
4035 FOR C=0 TO 1
4036 LPRINT "H":LPRINT"R2,-2":LPRINT "I"
4037 LPRINT "C";C
4040 LPRINT "Q0":LPRINT"PDefence ":LPRINT"Q1":LPRINT"PForce   "
4050 LPRINT "Q0":LPRINT"Pat Solskogen   ":LPRINT"Q3":LPRINT"P2016 "
4060 LPRINT "Q0":LPRINT"Pwith an ":LPRINT"Q1":LPRINT"POric MCP 40 demo..."
4070 NEXT C
4080 RETURN

5000 REM Olskool frame box
5010 GOSUB 200   ' Reset position
5015 LPRINT"C0"  ' Black pen
5016 LPRINT"R0,-30"
5020 LPRINT"J0,-20,30,0,0,20,400,0"
5020 LPRINT"J0,-20,30,0,0,20,-20,0,0,-30,20,0,0,-100"
5030 LPRINT"J-20,0,0,-30,20,0,0,20,-30,0,0,-20,-400,0"
5040 LPRINT"J0,20,-30,0,0,-20,20,0,0,30,-20,0,0,100"
5050 LPRINT"J20,0,0,30,-20,0"

5015 LPRINT"C3"  ' Red pen
5017 LPRINT"R5,-5"
5020 LPRINT"J0,-10,30,0,0,10,390,0"
5020 LPRINT"J0,-10,30,0,0,10,-10,0,0,-30,10,0,0,-90"
5030 LPRINT"J-10,0,0,-30,10,0,0,10,-30,0,0,-10,-390,0"
5040 LPRINT"J0,10,-30,0,0,-10,10,0,0,30,-10,0,0,90"
5050 LPRINT"J10,0,0,30,-10,0"

5060 LPRINT"R25,-110":LPRINT"S7":LPRINT"C2":LPRINT"PLine Feed"
5070 LPRINT"R0,-100"
5100 RETURN

6000 REM Credits
6010 GOSUB 200   ' Reset position
6015 LPRINT"I"   ' Store position
6020 LPRINT"H":LPRINT"R0,-20":LPRINT"I":LPRINT"C1":LPRINT"S2":LPRINT"PCredits for this 'demo'":LPRINT"S1":LPRINT"R0,-30"
6030 LPRINT"H":LPRINT"R0,-20":LPRINT"I":LPRINT"C0":LPRINT"PPrinter Hardware":LPRINT"L4":LPRINT"D240,0":LPRINT"L0":LPRINT"PSomeone on eBay"
6040 LPRINT"H":LPRINT"R0,-20":LPRINT"I":LPRINT"C0":LPRINT"PHard to find pens":LPRINT"L4":LPRINT"D240,0":LPRINT"L0":LPRINT"PBest Electronics"
6050 LPRINT"H":LPRINT"R0,-20":LPRINT"I":LPRINT"C0":LPRINT"PCode":LPRINT"L4":LPRINT"D240,0":LPRINT"L0":LPRINT"C1":LPRINT"PDbug"
6060 LPRINT"H":LPRINT"R0,-20":LPRINT"I":LPRINT"C0":LPRINT"PMoral support":LPRINT"L4":LPRINT"D240,0":LPRINT"L0":LPRINT"C3":LPRINT"PMiriam"
6070 LPRINT"H":LPRINT"R0,-20":LPRINT"I":LPRINT"C0":LPRINT"PAdditional Support":LPRINT"L4":LPRINT"D240,0":LPRINT"L0":LPRINT"C2":LPRINT"PCarlsberg & Tuborg"
6080 LPRINT"R0,-50
6100 RETURN

7000 REM Pen degreasing
7010 GOSUB 200   ' Reset position
7020 LPRINT"L15":LPRINT"C0":LPRINT"J480,0,0,-3,-480,0,0,-3"
7030 LPRINT"L15":LPRINT"C1":LPRINT"J480,0,0,-3,-480,0,0,-3"
7040 LPRINT"L15":LPRINT"C2":LPRINT"J480,0,0,-3,-480,0,0,-3"
7050 LPRINT"L15":LPRINT"C3":LPRINT"J480,0,0,-3,-480,0,0,-3"
7100 RETURN

8000 REM Crossing lines
8010 GOSUB 200   ' Reset position
8015 LPRINT"C1"
8020 FOR X=0 TO 330 STEP 10
8030 LPRINT"M";X;",0":LPRINT"D";480-X;",-100"
8040 NEXT X
8100 RETURN

9000 REM Random dithering
9010 GOSUB 200   ' Reset position
9015 LPRINT"C3":LPRINT"M240,3":LPRINT"I"
9020 FOR Y=0 TO 25 STEP 1
9025 LPRINT"L";INT(1+RND(1)*15):LPRINT"J";Y*4;",0,0,-2"
9030 LPRINT"L";INT(1+RND(1)*15):LPRINT"J";-(Y*4+1);",0,0,-2"
9040 NEXT Y
9050 LPRINT"C2":LPRINT"H"
9060 FOR Y=0 TO 25 STEP 1
9070 LPRINT"L";INT(1+RND(1)*15):LPRINT"J";-(Y*4+1);",0,0,-2"
9080 LPRINT"L";INT(1+RND(1)*15):LPRINT"J";Y*4;",0,0,-2"
9090 NEXT Y
9100 LPRINT"C0":LPRINT"H":LPRINT"L0"
9105 FOR I=0 TO 5
9106 LPRINT"M";INT(2-RND(1)*4);",";INT(2-RND(1)*4)
9110 LPRINT"J80,-100,-200,0,120,100"
9115 NEXT I
9120 LPRINT"R0,-150"
9200 RETURN

10000 REM Scrolltext
10010 GOSUB 200   ' Reset position
10020 A$="Welcome to the scrolltext! This demo was written on the party place, 100% programmed in BASIC. "
10030 A$=A$+"I'm not sure if that qualify as a demo, but I sure tried my best :) "
10040 ' A$=A$+"Gargaj said it was probably more suited for the Wild category, due to the lack of animation, music, or anything remotely exciting :p"
10050 LPRINT"S4":LPRINT"C0"
10060 LPRINT"Q1"
10065 LPRINT"R400,-30"
10066 L=0:D=0
10070 FOR I=1 TO LEN(A$)
10080 LPRINT"P";MID$(A$,I,1)
10090 L=L+1
10095 IF D=0 THEN M=-30 ELSE M=-80
10100 IF L>20 THEN L=0:D=1-D:LPRINT"Q";1+D*2:LPRINT"R";M;",0"
10110 NEXT I
10120 LPRINT"R0,-530"
10200 RETURN

11000 REM Logo
11010 GOSUB 200   ' Reset position
11020 A=#A000
11030 FOR Y=0 TO 139
11040 FOR C=0 TO 39
11050 IF PEEK(A)=64 THEN GOTO 11100
11060 FOR XX=0 TO 5
11065 X=C*6+XX
11070 IF POINT(X,Y) THEN LPRINT"M";X*2;",";Y*2:LPRINT"J1,0,0,-1,-1,0,0,1"
11090 NEXT XX
11100 A=A+1
11110 NEXT C
11120 NEXT Y
11130 RETURN

========================================
To contact us:
========================================

Website:
- http://www.defence-force.org
	
irc:
- #oric on IRCnet 

	
Other Defence Force Oric productions:
-------------------------------------
Oric Tech - Released at the VIP 2015 (France)
- http://www.pouet.net/prod.php?which=65688

Zerofr - Released at Kindergarden 2014 (Norway)
- http://www.pouet.net/prod.php?which=64343

Pushing The Envelope - Released at Payback 2014 (Finland)
- http://www.pouet.net/prod.php?which=62468

AlchimieGarden - Released at Alchimie X 2013
- http://www.pouet.net/prod.php?which=62129

Born In 1983 - Released at Solskogen 2013
- http://www.pouet.net/prod.php?which=61573

3k FreeCell - Released at @party 2013
- http://www.pouet.net/prod.php?which=61475

Buggy Boy - Made for LCP Party 2004 (Sweden)
- http://www.pouet.net/prod.php?which=13000

Barbitoric - Made for Alternative Party 2003 (Finland):
- http://www.pouet.net/prod.php?which=8558

Assembly 2002 invtro - Made for Assembly 2002 (Finland):
- http://www.pouet.net/prod.php?which=6977

Quintessential - Released at the VIP4 (FRANCE) demo party in 2002:
- http://www.pouet.net/prod.php?which=6864

Oric Giga Demo - Released at the VIP3 (FRANCE) demo party in 2001:
- http://www.pouet.net/prod.php?which=3102

STNICCC C64 Revisited - Released at the STNICCC 2000 (HOLLAND) demo party in 2000:
- http://www.pouet.net/prod.php?which=3105	
	
Just Oric - Released at the Volcanic 4 (FRANCE) in 1997
- http://www.pouet.net/prod.php?which=3131


Other Defence Force Atari productions:
-------------------------------------
Save The Earth - Made for the 20th anniversary of the Atari STe
- http://pouet.net/prod.php?which=54106
Go to top