prepping for the action and basic demos

This commit is contained in:
Greg Gauthier 2023-01-07 01:03:05 +00:00
parent e14e7acd92
commit d04d991b7c
32 changed files with 672 additions and 4 deletions

BIN
FDISK/ACTION-37-DOS25.atr Normal file

Binary file not shown.

BIN
FDISK/ACTION-37-DOSXL.atr Normal file

Binary file not shown.

BIN
FDISK/ACTION-37-MYDOS.atr Normal file

Binary file not shown.

BIN
FDISK/ACTION-37-SDX.atr Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
FDISK/MYCODE01.atr Normal file

Binary file not shown.

BIN
FDISK/OSS C-65.atr Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

67
HDISK/.source.txt Normal file
View File

@ -0,0 +1,67 @@
10 .TITLE "HELLO WORLD"
20 .OPT OBJ
30 *=$4000
40 EOL = $9B
50 ; *** SETUP ICCOM2 ***
60 OPEN = $03
70 WRITE = $08
80 PUTREC = $09
90 PUTCHR = $0B
0100 CLOSE = $0C
0110 IOCB = $0340
0120 ICCOM = $0342
0130 ICBAL = $0344
0140 ICBAH = $0345
0150 ICBLL = $0348
0160 ICBLH = $0349
0170 ICAX1 = $034A
0180 ICAX2 = $034B
0190 CIOV = $E456
0200 DEVNAM .BYTE "E:",EOL
0210 MYTEXT .BYTE "HELLO WORLD!",EOL
0220 ;
0230 OPENSCR
0240 LDX #$20
0250 LDA #OPEN
0260 STA ICCOM,X
0270 ;
0280 LDA #DEVNAM&255
0290 STA ICBAL,X
0300 LDA #DEVNAM/256
0310 STA ICBAH,X
0320 ;
0330 ; SET SCREEN FOR WRITE OPERATION
0340 LDA #WRITE
0350 STA ICAX1,X
0360 LDA #$00
0370 STA ICAX2,X
0380 JSR CIOV
0390 ;
0400 ; SET PUT RECORD
0410 LDA #PUTREC
0420 STA ICCOM,X
0430 ;
0440 ; SET TEXT BUFFER
0450 LDA #MYTEXT&255
0460 STA ICBAL,X
0470 LDA #MYTEXT/256
0480 STA ICBAH,X
0490 ;
0500 ; PRINT MESSAGE TO SCREEN
0510 LDA #$00
0520 STA ICBLL,X
0530 LDA #$FF
0540 STA ICBLH,X
0550 ;
0560 ;
0570 LDA #$FF
0580 STA $02FC
0590 LOOP JSR CIOV
0600 LDA $02FC
0610 CMP #$FF
0620 BNE QUIT
0630 JMP LOOP
0640 ;
0650 ERROR BRK
0660 QUIT BRK
0670 .END

489
HDISK/ACTNLOGO.ACT Normal file
View File

@ -0,0 +1,489 @@
; CIS Notice:
;
; I am providing the program for you
; to look at and maybe help you get
; started with ACTION!. It was
; written 'quick and dirty' and as
; such does not have many comments
; and is not the best of code in many
; places. Feel free to show it to
; anyone you like as long as you keep
; the copyright notice.
; In case you are interested, this is
; the company logo for Action
; Computer Services (ACS).
;- Clinton Parker 70435,625
; PS: Hit ESC to exit program
; Copyright 1983 by Action Computer Services
; last modified April 13, 1983
MODULE ; LOGO.ACT
DEFINE RTI = "$40",
PHA = "$48",
PLA = "$68",
TXA = "$8A",
TAX = "$AA",
TYA = "$98",
TAY = "$A8"
BYTE start
BYTE ARRAY display
CARD ARRAY yLoc(96)
PROC NMI()
BYTE color, cnt
BYTE COLPF1=$D017, WSYNC=$D40A,
VCOUNT=$D40B, COLPF2=$D018,
COLPF0=$D016
BYTE ARRAY col(0)=[$68 $C $96 $38]
[PHA TXA PHA TYA PHA]
IF VCOUNT=7 THEN
color = start
start = start - 1
IF (start&$1F)=0 THEN cnt = cnt + 1 FI
FI
color = color - 2
WSYNC = 1
COLPF0 = color
COLPF1 = color
COLPF2 = col((cnt + VCOUNT) & 3)
[PLA TAY PLA TAX PLA RTI]
PROC Background()
BYTE COLBK=$D01A, VCOUNT=$D40B, WSYNC=$D40A
[PHA TXA PHA TYA PHA]
WSYNC = 0
IF VCOUNT>50 THEN
COLBK = 0
ELSE
COLBK = $D6
FI
[PLA TAY PLA TAX PLA RTI]
PROC Init7()
BYTE i
CARD screen, scrloc=88
Graphics(23)
SetColor(0,2,10)
SetColor(1,0,12)
SetColor(2,0,12)
display = scrloc
screen = scrloc
i = 0
WHILE i<96 DO
yLoc(i) = screen
screen = screen + 40
i = i + 1
OD
RETURN
PROC Plot7(BYTE x, y)
BYTE ARRAY pos, bm(0)=[$C0$30$C$3],
cm(0)=[$0 $55 $AA $FF]
pos = yLoc(y)
pos(x RSH 2) ==% (bm(x&3)&cm(color))
RETURN
PROC VLine(BYTE x, y1, y2)
WHILE y1#y2 DO
Plot7(x, y1)
y1 = y1 + 1
OD
RETURN
PROC HLine(BYTE x1, x2, y)
WHILE x1#x2 DO
Plot7(x1, y)
x1 = x1 + 1
OD
RETURN
PROC DLine(BYTE x1, x2, y1)
BYTE incr
incr = 1
IF x2<x1 THEN incr = $FF FI
WHILE x1#x2 DO
Plot7(x1, y1)
x1 = x1 + incr
Plot7(x1, y1)
y1 = y1 + 1
OD
RETURN
PROC Dot(BYTE x, y)
BYTE i
i = 0
WHILE i<4 DO
Plot7(x+1, y) Plot7(x+2, y)
IF i=1 OR i=2 THEN
Plot7(x, y) Plot7(x+3, y)
FI
y = y + 1
i = i + 1
OD
RETURN
PROC Pad(BYTE x, y)
BYTE i
i = 0
WHILE i<4 DO
Plot7(x, y)
Plot7(x+1, y)
Plot7(x+2, y)
y = y + 1
i = i + 1
OD
RETURN
PROC LineX(BYTE x1, y1, x2, y2)
Plot(x1, y1)
DrawTo(x2, y2)
Plot(x1+1, y1)
DrawTo(x2+1, y2)
RETURN
PROC LineY(BYTE x1, y1, x2, y2)
Plot(x1, y1)
DrawTo(x2, y2)
; Plot(x1, y1+1)
; DrawTo(x2, y2+1)
RETURN
PROC Curve(BYTE x, y)
; Plot7(x-1, y-1)
VLine(x, y-1, y+2)
VLine(x+1, y-1, y+2)
VLine(x+2, y-2, y+1)
y = y - 4
VLine(x+3, y, y+5)
VLine(x+4, y, y+4)
VLine(x+5, y, y+3)
Plot7(x+6, y)
Plot7(x+6, y+1)
RETURN
PROC Draw()
BYTE i, j, k
CARD x
; draw fingers
i = 0
x = 160
WHILE i<15 DO
j = 0
WHILE j<3 DO
k = 0
WHILE k<4 DO
display(x+k) = $55
k = k + 1
OD
x = x + 40
j = j + 1
OD
x = x + 120
i = i + 1
OD
; draw the pads
i = 64
WHILE i<112 DO
Pad(i, 22)
i = i + 6
OD
Pad(142, 22)
Pad(70, 62)
Pad(76, 62)
Pad(94, 62)
Pad(106, 62)
Pad(142, 62)
; finger 1, 15 connections
i = 0
WHILE i<4 DO
display(204+i) = $AA
display(3564+i) = $AA
i = i + 1
OD
Dot(31, 3)
Dot(29, 88)
; finger 2 connection (A3)
LineX(16, 11, 44, 8)
HLine(44, 105, 8)
DLine(105, 107, 8)
VLine(107, 10, 23)
; finger 3 connection (A2)
LineX(16, 17, 48, 11)
HLine(48, 99, 11)
DLine(99, 101, 11)
VLine(101, 13, 23)
; finger 4 connection (A1)
LineX(16, 23, 52, 14)
HLine(52, 93, 14)
DLine(93, 95, 14)
VLine(95, 16, 23)
; finger 5 connection (A0)
LineX(16, 29, 56, 17)
HLine(56, 87, 17)
DLine(87, 89, 17)
VLine(89, 19, 23)
; finger 6 connection (D4)
HLine(16, 60, 35)
LineY(60, 35, 71, 62)
; finger 7 connection (D5)
HLine(16, 56, 41)
DLine(56, 58, 41)
VLine(58, 43, 66)
DLine(58, 60, 66)
HLine(60, 76, 68)
DLine(77, 75, 66)
; finger 8 connection (D2)
HLine(16, 34, 47)
DLine(34, 58, 47)
HLine(58, 79, 71)
DLine(80, 78, 70)
VLine(80, 60, 70)
LineY(80, 60, 71, 25)
; finger 9 connection (D1)
HLine(16, 34, 53)
DLine(34, 55, 53)
HLine(55, 85, 74)
DLine(86, 84, 73)
VLine(86, 60, 73)
LineY(86, 60, 77, 25)
; finger 10 connection (D0)
HLine(16, 20, 59)
DLine(23, 19, 56)
HLine(24, 32, 56)
DLine(32, 53, 56)
HLine(53, 91, 77)
DLine(92, 90, 76)
VLine(92, 60, 76)
LineY(92, 60, 83, 25)
; finger 11 connection (D6)
HLine(16, 24, 65)
DLine(27, 23, 62)
Dot(26, 60)
; finger 12 connection (CS)
DLine(107, 92, 66)
HLine(50, 92, 80)
DLine(40, 50, 71)
HLine(16, 40, 71)
VLine(95, 66, 78)
; finger 13 connection (+5)
Plot(16, 76)
DrawTo(50, 86)
Plot(16, 77)
DrawTo(50, 87)
Plot(16, 78)
DrawTo(50, 88)
HLine(50, 149, 86)
HLine(50, 149, 87)
HLine(50, 149, 88)
Curve(149, 86)
i = 0
WHILE i<4 DO
VLine(153+i, 47, 82)
DLine(143+i, 153+i, 37)
VLine(143+i, 22, 37)
HLine(142, 155, 62+i)
VLine(153+i, 5, 17) ; ground pad
i = i + 1
OD
HLine(143, 146, 21)
Plot7(141, 63)
Plot7(141, 64)
Curve(149, 62)
HLine(149, 153, 66)
VLine(152, 66, 70)
Plot7(151, 67)
; finger 14 connection (cart. select)
HLine(16, 35, 82)
HLine(16, 38, 83)
HLine(16, 41, 84)
; ground pads
Dot(153, 3)
Dot(153, 16)
HLine(62, 64, 23)
HLine(62, 64, 24)
RETURN
PROC Letter(BYTE ARRAY pts, BYTE x, y, delay)
BYTE i, dx, dy
WHILE 1 DO
dx = pts^
pts = pts + 1
dy = pts^
pts = pts + 1
IF dx=$FF THEN EXIT FI
Plot7(x+dx, y+dy)
;i = 0
;WHILE i<delay DO i==+1*1*1 OD
OD
RETURN
PROC Logo()
CHAR CH=$2FC
BYTE x, NMIEN=$D40E, COLBK=$D01A
CARD j, old, SDLST=$230, VDSLST=$200
BYTE i
BYTE ARRAY dlist
BYTE ARRAY side(0)=[2 0 1 0 0 0 0 1
0 2 1 2 2 2 2 3 2 4 1 4 0 4 4 0 4
1 4 2 4 3 4 4 6 0 6 1 6 2 6 3 6 4
7 0 8 1 8 2 8 3 7 4 10 0 10 1 10
2 10 3 10 4 11 0 12 0 11 2 11 4 12
4 18 4 18 3 19 2 19 1 20 0 21 1 21
2 22 3 22 4 20 2 $FF]
BYTE ARRAY copyright(0)=[5 0 4 0 3 0
2 0 1 1 0 2 0 3 0 4 0 5 1 6 2 7 3
7 4 7 5 7 6 6 7 5 7 4 7 3 7 2 6 1
4 2 3 2 2 3 2 4 3 5 4 5 $FF]
BYTE ARRAY A(0)=[0 8 1 8 0 7 1 7 0 6
1 6 2 6 1 5 2 5 1 4 2 4 1 3 2 3 3
3 2 2 3 2 2 1 3 1 3 0 4 0 4 1 5 0
5 1 6 1 5 2 6 2 5 3 6 3 7 3 6 4 7
4 6 5 7 5 6 6 7 6 8 6 7 7 8 7 7 8
8 8 3 5 4 5 5 5 $FF]
BYTE ARRAY C(0)=[7 2 6 2 6 1 5 1 5 0
4 0 3 0 2 0 2 1 1 1 1 2 0 2 1 3 0
3 1 4 0 4 0 5 1 5 0 6 1 6 1 7 2 7
2 8 3 8 4 8 5 8 5 7 6 7 6 6 7 6
; hier fehlt das Ende
$FF]
BYTE ARRAY S(0)=[6 2 5 2 5 1 4 1 4 0
3 0 2 0 2 1 1 1 0 2 1 2 1 3 2 3 2
4 3 4 4 4 4 5 5 5 6 6 5 6 5 7 4 7
4 8 3 8 2 8 2 7 1 7 1 6 0 6 $FF]
BYTE ARRAY rev(0)=[0 0 0 1 0 2 0 3 0
4 0 5 0 6 1 6 1 5 1 4 1 3 1 2 1 1
1 0 2 0 3 0 4 1 4 2 3 3 2 3 3 4 4
5 4 6 7 0 8 0 7 1 8 1 7 2 8 2 7 3
8 3 7 4 8 4 7 5 8 5 7 6 8 6 11 0
10 0 9 0 10 3 9 3 11 6 10 6 9 6 14
0 15 0 14 1 15 1 14 2 15 2 15 3 16
3 15 4 16 4 16 5 16 6 17 6 17 5 18
4 18 3 19 2 19 1 19 0 22 5 21 5 21
6 22 6 27 6 28 6 27 5 28 5 27 4 28
4 28 3 29 3 28 2 29 2 29 1 29 0 30
0 30 1 31 2 31 3 32 4 32 5 32 6 29
5 30 5 31 5 $FF]
Init7()
color = 2
NMIEN = $40
old = VDSLST
VDSLST = Background
dlist = SDLST
dlist(6) ==% $80
dlist(97) ==% $80
NMIEN = $C0
Draw()
; j = 0
; WHILE j<10000 DO j==+1 OD
color = 3
Letter(side, 120, 10, 50)
Letter(rev, 105, 75, 50)
Letter(copyright, 96, 41, 100)
Letter(A, 109, 41, 100)
Letter(C, 121, 41, 100)
Letter(S, 132, 41, 100)
j = 0
WHILE j<2000 AND CH=$FF DO
i = 0
WHILE i<100 DO i==+1 OD
j = j + 1
OD
NMIEN = $40
VDSLST = NMI
start = 0
dlist(0) ==% $80
dlist(2) ==% $80
i = 3
WHILE i<101 DO
x = dlist(i)
dlist(i) = x % $80
IF x#$D THEN
i = i + 3
ELSE
i = i + 1
FI
OD
NMIEN = $C0
; Draw()
CH = $FF
WHILE CH#$1C DO
; SetColor(4, 0, 4)
; COLBK = 4
OD
NMIEN = $40
VDSLST = old
GetD(7)
Graphics(0)
RETURN

48
HDISK/BUTRFLY.ACT Normal file
View File

@ -0,0 +1,48 @@
; butterfly
; By michael mitchell
; 01/20/85
PROC DEMO2()
CARD A,B,C,D,X,Y,J,K,COL,I,Q
Graphics(11)
Poke(710,0)
Color=00
A=1 B=1 C=1 D=1
X=Rand(70)+1
Y=Rand(190)+1
J=Rand(50)+1
K=Rand(190)+1
For I=1 TO 9400
DO
Plot(X,Y)
Drawto(J,K)
Plot(J,Y)
Drawto(X,K)
X==+A
Y==+B
J==+C
K==+D
Q=Rand(50)
IF Q>40 THEN
COL==+1
FI
IF COL>14 THEN
COL=1
FI
COLOR=COL
IF X>=79 THEN A=-A X==+A FI
IF J>=79 THEN C=-C J==+C FI
IF J<=0 THEN C=-C J==+C FI
IF X<=0 THEN A=-A X==+A FI
IF Y>=191 THEN B=-B Y==+B FI
IF K>=191 THEN D=-D K==+D FI
IF K<=0 THEN D=-D K==+D FI
IF Y<=0 THEN B=-B Y==+B FI
OD
RETURN

15
HDISK/PTRQUILT.ACT Normal file
View File

@ -0,0 +1,15 @@
PROC MAIN()
CARD I
BYTE POINTER SCR ; BEGINNING OF SCREEN POINTER
CARD POINTER DLADDR ;DISPLAY LIST ADDR
GRAPHICS(7+16)
DLADDR=PEEKC(560)+4
SCR=DLADDR^
; PLOT AN ARBITRARY PATTERN ON SCREEN
FOR I=1 TO 3840
DO
SCR^=135
SCR==+1
OD
FOR I=1 TO 33000 DO OD
RETURN

29
HDISK/SCROLCLR.ACT Normal file
View File

@ -0,0 +1,29 @@
proc scrollcolors()
BYTE wsync=54282, ;the 'wait for sync' flag
vcount=54283,;scanline count flag
clr=53272, ;bkgrd register
ctr,chgclr=[0],
incclr ;incr luminance
graphics(0)
pute()
for ctr=1 to 23
do
printe("A Demo of Shifting Background Colours")
od
print("A Demo of Shifting Background Colours")
do
for ctr=1 to 4
do
incclr=chgclr
do
wsync=0
clr=incclr
incclr==+1
until vcount&128
od
od
chgclr==+1
od
return

BIN
HDISK/SCROLCLRS.BIN Normal file

Binary file not shown.

20
HDISK/ZED.ACT Normal file
View File

@ -0,0 +1,20 @@
proc main()
card i ;"cardinal"=unsigned int
graphics(7+16);set graphics 23
setcolor(0,4,8) ;color 1 (pink)
setcolor(1,7,4) ;color 2 (blue)
setcolor(2,0,14) ;color 3 (white)
setcolor(100,100,100) ;background
color=1
plot(10,10)
drawto(149,10)
color=2
drawto(10,85)
color=3
drawto(149,85)
for i=1 to 60000
do
;do nothing
od
graphics(0)
return

BIN
MISC/277.zip Normal file

Binary file not shown.

BIN
ROM/ACTION-36-ROM-OSS.car Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
ROM/ATARI PILOT.car Normal file

Binary file not shown.

BIN
ROM/Atari Basic Rev. C.rom Normal file

Binary file not shown.

BIN
ROM/Atari PILOT.rom Normal file

Binary file not shown.

BIN
ROM/Atari_Basic_Rev._C.car Normal file

Binary file not shown.

View File

@ -70,8 +70,8 @@ BLACK_BOX_ROM=
XLD_D_ROM=
XLD_V_ROM=
PROTO80_ROM=
CARTRIDGE_FILENAME=/home/gmgauthier/Atari/ROM/MAC 65 _ V1.02.ROM
CARTRIDGE_TYPE=0
CARTRIDGE_FILENAME=/home/gmgauthier/Atari/ROM/ACTION-37-ROM-OSS-16k.car
CARTRIDGE_TYPE=15
CARTRIDGE_PIGGYBACK_FILENAME=
CARTRIDGE_PIGGYBACK_TYPE=0
CARTRIDGE_AUTOREBOOT=1
@ -116,8 +116,8 @@ FILTER_NTSC_ARTIFACTS=0.6
FILTER_NTSC_FRINGING=0.5
FILTER_NTSC_BLEED=0
FILTER_NTSC_BURST_PHASE=0
VIDEOMODE_WINDOW_WIDTH=1920
VIDEOMODE_WINDOW_HEIGHT=1080
VIDEOMODE_WINDOW_WIDTH=1710
VIDEOMODE_WINDOW_HEIGHT=1059
VIDEOMODE_FULLSCREEN_WIDTH=1920
VIDEOMODE_FULLSCREEN_HEIGHT=1080
VIDEOMODE_WINDOWED=1