Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
60
PAM/ANIM.C
Normal file
60
PAM/ANIM.C
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#include <dos.h>
|
||||
#include <mem.h>
|
||||
|
||||
char pal[768];
|
||||
char far mpage1[65535];
|
||||
char far mpage2[65535];
|
||||
|
||||
FILE *out;
|
||||
|
||||
main()
|
||||
{
|
||||
FILE *data;
|
||||
|
||||
asm mov ax, 13h
|
||||
asm int 10h
|
||||
|
||||
data=fopen("pal.pal","rb");
|
||||
fread(pal,1,768,data);
|
||||
tw_setpalette(pal);
|
||||
fclose(data);
|
||||
|
||||
data=fopen("out.u","rb");
|
||||
out=fopen("out.ani","wb");
|
||||
while(!kbhit() && !feof(data))
|
||||
{
|
||||
memcpy(MK_FP(0x0a000,0),mpage1,64000);
|
||||
memcpy(mpage1,mpage2,64000);
|
||||
fread(mpage2,1,64000,data);
|
||||
if(feof(data)) break;
|
||||
packframe();
|
||||
}
|
||||
}
|
||||
|
||||
packframe()
|
||||
{
|
||||
unsigned int cnt=0;
|
||||
int a=0,b=0,ch=0;
|
||||
char *p1=mpage2,*p2=MK_FP(0x0a000,0);
|
||||
|
||||
while((ftell(out)&15)!=0) fputc(0,out);
|
||||
|
||||
while(cnt<64000)
|
||||
{
|
||||
if(*p1!=*p2)
|
||||
{
|
||||
for(a=1;*p1==*(p1+a) && *(p1+a)!=*(p2+a) && a<120 && cnt+a<64000;a++);
|
||||
fputc(a,out);
|
||||
fputc(*p1,out);
|
||||
p1+=a; p2+=a; cnt+=a;
|
||||
}
|
||||
else {
|
||||
for(a=1;*(p1+a)==*(p2+a) && a<120 && cnt+a<64000;a++);
|
||||
fputc(-a,out);
|
||||
p1+=a; p2+=a; cnt+=a;
|
||||
}
|
||||
}
|
||||
fputc(0,out);
|
||||
}
|
||||
BIN
PAM/ANIM.DSK
Normal file
BIN
PAM/ANIM.DSK
Normal file
Binary file not shown.
BIN
PAM/ANIM.EXE
Normal file
BIN
PAM/ANIM.EXE
Normal file
Binary file not shown.
BIN
PAM/ANIM.OBJ
Normal file
BIN
PAM/ANIM.OBJ
Normal file
Binary file not shown.
BIN
PAM/ANIM.PRJ
Normal file
BIN
PAM/ANIM.PRJ
Normal file
Binary file not shown.
BIN
PAM/ANIMATE.EXE
Normal file
BIN
PAM/ANIMATE.EXE
Normal file
Binary file not shown.
322
PAM/ASMYT.ASM
Normal file
322
PAM/ASMYT.ASM
Normal file
|
|
@ -0,0 +1,322 @@
|
|||
IDEAL
|
||||
MODEL large
|
||||
P386
|
||||
|
||||
CODESEG
|
||||
|
||||
aseg dw 0
|
||||
|
||||
;ntaulu db 1000b,1100b,1110b,1111b
|
||||
;taulu db 1111b,0111b,0011b,0001b
|
||||
|
||||
ntaulu db 0001b,0011b,0111b,1111b
|
||||
taulu db 1111b,1110b,1100b,1000b
|
||||
|
||||
ptaulu db 1,2,4,8
|
||||
|
||||
PUBLIC C init_uframe, C ulosta_frame
|
||||
|
||||
PROC C init_uframe
|
||||
|
||||
ARG fseg:word
|
||||
|
||||
mov ax, [fseg]
|
||||
mov [cs:aseg], ax
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC C ulosta_frame
|
||||
|
||||
ARG scseg:word
|
||||
|
||||
push ds di si
|
||||
|
||||
xor di, di
|
||||
xor si, si
|
||||
mov ax, [scseg]
|
||||
mov es, ax
|
||||
mov ds, [cs:aseg]
|
||||
mov dx, 03c4h ; map mask... 03c4h, 02..
|
||||
|
||||
@@looppi:
|
||||
lodsb
|
||||
cmp al, 0d
|
||||
jg @@outtaa
|
||||
je @@over
|
||||
@@skip:
|
||||
cbw
|
||||
sub di, ax
|
||||
|
||||
lodsb
|
||||
cmp al, 0d
|
||||
jl @@skip
|
||||
je @@over
|
||||
|
||||
@@outtaa:
|
||||
dec al
|
||||
jz @@single
|
||||
|
||||
cbw
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
add bx, ax
|
||||
shr bx, 2d
|
||||
or bx, bx
|
||||
jz @@samebyte
|
||||
cmp bx, 1d
|
||||
je @@twobytes
|
||||
|
||||
mov cx, ax
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov ah, [cs:taulu+bx]
|
||||
mov al, 2d
|
||||
out dx, ax
|
||||
mov al, [ds:si]
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx], al
|
||||
|
||||
push di cx
|
||||
|
||||
mov ax, di
|
||||
add cx, ax
|
||||
shr cx, 2d
|
||||
sub cx, bx
|
||||
dec cx
|
||||
shr di, 2d
|
||||
inc di
|
||||
|
||||
mov ax, 0f02h
|
||||
out dx, ax
|
||||
mov al, [ds:si]
|
||||
mov ah, al
|
||||
shr cx, 1d
|
||||
jnc @@l1
|
||||
stosb
|
||||
@@l1: jcxz @@l2
|
||||
rep stosw
|
||||
|
||||
@@l2: pop cx di
|
||||
add di, cx
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov ah, [cs:ntaulu+bx]
|
||||
mov al, 2d
|
||||
out dx, ax
|
||||
lodsb
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx], al
|
||||
|
||||
inc di
|
||||
|
||||
lodsb
|
||||
cmp al, 0d
|
||||
jl @@skip
|
||||
jg @@outtaa
|
||||
je @@over
|
||||
|
||||
@@twobytes:
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov cl, [cs:taulu+bx]
|
||||
add di, ax
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov ch, [cs:ntaulu+bx]
|
||||
mov ah, cl
|
||||
mov al, 2d
|
||||
out dx, ax
|
||||
mov cl, [ds:si]
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx-1], cl
|
||||
mov ah, ch
|
||||
out dx, ax
|
||||
mov [es:bx], cl
|
||||
inc di
|
||||
inc si
|
||||
|
||||
lodsb
|
||||
cmp al, 0d
|
||||
jl @@skip
|
||||
jg @@outtaa
|
||||
je @@over
|
||||
|
||||
|
||||
@@samebyte:
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov cl, [cs:taulu+bx]
|
||||
add di, ax
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
and cl, [cs:ntaulu+bx]
|
||||
mov ah, cl
|
||||
mov al, 02h
|
||||
out dx, ax
|
||||
lodsb
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx], al
|
||||
inc di
|
||||
|
||||
lodsb
|
||||
cmp al, 0d
|
||||
jl @@skip
|
||||
jg @@outtaa
|
||||
je @@over
|
||||
|
||||
|
||||
@@single:
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov ah, [cs:ptaulu+bx]
|
||||
mov al, 2d
|
||||
out dx, ax
|
||||
lodsb
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx], al
|
||||
inc di
|
||||
|
||||
;-------------
|
||||
lodsb
|
||||
cmp al, 0d
|
||||
jl @@skip
|
||||
jg @@outtaa
|
||||
je @@over
|
||||
|
||||
@@over:
|
||||
mov di, si
|
||||
shr si, 4d
|
||||
mov ax, ds
|
||||
add ax, si
|
||||
and di, 15d
|
||||
jz @@exit
|
||||
inc ax
|
||||
@@exit:
|
||||
mov [cs:aseg], ax
|
||||
|
||||
pop si di ds
|
||||
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC ruudulle
|
||||
|
||||
dec al
|
||||
jz @@single
|
||||
|
||||
cbw
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
add bx, ax
|
||||
shr bx, 2d
|
||||
or bx, bx
|
||||
jz @@samebyte
|
||||
cmp bx, 1d
|
||||
je @@twobytes
|
||||
|
||||
mov cx, ax
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov ah, [cs:taulu+bx]
|
||||
mov al, 2d
|
||||
out dx, ax
|
||||
mov al, [ds:si]
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx], al
|
||||
|
||||
push di cx
|
||||
|
||||
mov ax, di
|
||||
add cx, ax
|
||||
shr cx, 2d
|
||||
sub cx, bx
|
||||
dec cx
|
||||
shr di, 2d
|
||||
inc di
|
||||
|
||||
mov ax, 0f02h
|
||||
out dx, ax
|
||||
mov al, [ds:si]
|
||||
mov ah, al
|
||||
shr cx, 1d
|
||||
jnc @@l1
|
||||
stosb
|
||||
@@l1: jcxz @@l2
|
||||
rep stosw
|
||||
|
||||
@@l2: pop cx di
|
||||
add di, cx
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov ah, [cs:ntaulu+bx]
|
||||
mov al, 2d
|
||||
out dx, ax
|
||||
lodsb
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx], al
|
||||
|
||||
inc di
|
||||
ret
|
||||
|
||||
@@twobytes:
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov cl, [cs:taulu+bx]
|
||||
add di, ax
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov ch, [cs:ntaulu+bx]
|
||||
mov ah, cl
|
||||
mov al, 2d
|
||||
out dx, ax
|
||||
mov cl, [ds:si]
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx-1], cl
|
||||
mov ah, ch
|
||||
out dx, ax
|
||||
mov [es:bx], cl
|
||||
inc di
|
||||
inc si
|
||||
ret
|
||||
|
||||
@@samebyte:
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov cl, [cs:taulu+bx]
|
||||
add di, ax
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
and cl, [cs:ntaulu+bx]
|
||||
mov ah, cl
|
||||
mov al, 02h
|
||||
out dx, ax
|
||||
lodsb
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx], al
|
||||
inc di
|
||||
ret
|
||||
|
||||
@@single:
|
||||
mov bx, di
|
||||
and bx, 3d
|
||||
mov ah, [cs:ptaulu+bx]
|
||||
mov al, 2d
|
||||
out dx, ax
|
||||
lodsb
|
||||
mov bx, di
|
||||
shr bx, 2d
|
||||
mov [es:bx], al
|
||||
inc di
|
||||
ret
|
||||
ENDP
|
||||
|
||||
END
|
||||
BIN
PAM/ASMYT.OBJ
Normal file
BIN
PAM/ASMYT.OBJ
Normal file
Binary file not shown.
88
PAM/COPPER.ASM
Normal file
88
PAM/COPPER.ASM
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
IDEAL
|
||||
MODEL large
|
||||
P386
|
||||
|
||||
CODESEG
|
||||
|
||||
PUBLIC C frame_count, C init_copper, C close_copper, C cop_pal, C do_pal
|
||||
|
||||
twait dw 0
|
||||
frame_count dw 0
|
||||
cop_pal dd 0
|
||||
do_pal dw 0
|
||||
|
||||
PROC close_copper
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 0
|
||||
mov cx, 0
|
||||
mov dx, 0
|
||||
int 0fch
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 1
|
||||
mov cx, 0
|
||||
mov dx, 0
|
||||
int 0fch
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 2
|
||||
mov cx, 0
|
||||
mov dx, 0
|
||||
int 0fch
|
||||
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC init_copper
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 1
|
||||
mov cx, OFFSET copper3
|
||||
mov dx, SEG copper3
|
||||
int 0fch
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 2
|
||||
mov cx, OFFSET copper2
|
||||
mov dx, SEG copper2
|
||||
int 0fch
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 0
|
||||
mov cx, OFFSET copper3
|
||||
mov dx, SEG copper3
|
||||
int 0fch
|
||||
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC copper2
|
||||
|
||||
inc [cs:frame_count]
|
||||
|
||||
cmp [cs:do_pal], 0d
|
||||
je @@no_pal
|
||||
|
||||
pusha
|
||||
push ds
|
||||
lds si, [cs:cop_pal]
|
||||
mov cx, 768d
|
||||
mov dx, 3c8h
|
||||
mov al, 0d
|
||||
out dx, al
|
||||
inc dx
|
||||
rep outsb
|
||||
mov [cs:do_pal], 0d
|
||||
pop ds
|
||||
popa
|
||||
@@no_pal:
|
||||
retf
|
||||
ENDP
|
||||
|
||||
PROC copper3
|
||||
retf
|
||||
ENDP
|
||||
|
||||
END
|
||||
|
||||
BIN
PAM/COPPER.OBJ
Normal file
BIN
PAM/COPPER.OBJ
Normal file
Binary file not shown.
BIN
PAM/DISC.OBJ
Normal file
BIN
PAM/DISC.OBJ
Normal file
Binary file not shown.
34
PAM/INCLUDE.ASM
Normal file
34
PAM/INCLUDE.ASM
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
IDEAL
|
||||
MODEL large
|
||||
P386
|
||||
|
||||
PUBLIC C memblock, C pal
|
||||
|
||||
SEGMENT kakka2 para use16 private 'FAR_DATA'
|
||||
LABEL memblock WORD
|
||||
INCLUDE 'out.in0'
|
||||
ENDS
|
||||
|
||||
SEGMENT kakka3 byte use16 private 'FAR_DATA'
|
||||
LABEL multable128 WORD
|
||||
INCLUDE 'out.in1'
|
||||
ENDS
|
||||
|
||||
SEGMENT kakka4 byte use16 private 'FAR_DATA'
|
||||
INCLUDE 'out.in2'
|
||||
ENDS
|
||||
|
||||
SEGMENT kakka5 byte use16 private 'FAR_DATA'
|
||||
INCLUDE 'out.in3'
|
||||
ENDS
|
||||
|
||||
SEGMENT kakka6 byte use16 private 'FAR_DATA'
|
||||
INCLUDE 'out.in4'
|
||||
ENDS
|
||||
|
||||
SEGMENT kakka8 byte use16 private 'FAR_DATA'
|
||||
LABEL pal BYTE
|
||||
INCLUDE 'pal.inc'
|
||||
db 768*64 dup(?)
|
||||
ENDS
|
||||
END
|
||||
1742
PAM/OUT.ANI
Normal file
1742
PAM/OUT.ANI
Normal file
File diff suppressed because one or more lines are too long
4097
PAM/OUT.IN0
Normal file
4097
PAM/OUT.IN0
Normal file
File diff suppressed because it is too large
Load diff
4097
PAM/OUT.IN1
Normal file
4097
PAM/OUT.IN1
Normal file
File diff suppressed because it is too large
Load diff
4097
PAM/OUT.IN2
Normal file
4097
PAM/OUT.IN2
Normal file
File diff suppressed because it is too large
Load diff
4097
PAM/OUT.IN3
Normal file
4097
PAM/OUT.IN3
Normal file
File diff suppressed because it is too large
Load diff
3907
PAM/OUT.IN4
Normal file
3907
PAM/OUT.IN4
Normal file
File diff suppressed because it is too large
Load diff
67
PAM/OUTTAA.C
Normal file
67
PAM/OUTTAA.C
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
#include <conio.h>
|
||||
#include <dos.h>
|
||||
#include "..\dis\dis.h"
|
||||
#pragma inline
|
||||
|
||||
extern void tw_opengraph();
|
||||
extern void tw_waitvr();
|
||||
extern void tw_setpalette(char far *pal);
|
||||
extern void tw_setstart(int s);
|
||||
|
||||
extern init_copper();
|
||||
extern close_copper();
|
||||
extern far int frame_count;
|
||||
extern far char *cop_pal;
|
||||
extern far int do_pal;
|
||||
|
||||
extern init_uframe(int seg);
|
||||
extern ulosta_frame(int start);
|
||||
extern char far pal[];
|
||||
extern far char memblock[];
|
||||
|
||||
int wfade[100]= {63,32,16,8,4,2,1,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,
|
||||
1,2,4,6,9,14,20,28,37,46,
|
||||
56,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63};
|
||||
|
||||
main()
|
||||
{
|
||||
int a,f=0,p=0,frames;
|
||||
unsigned m=65535,b,segp;
|
||||
long len;
|
||||
|
||||
dis_partstart();
|
||||
|
||||
for(a=1;a<64;a++) for(b=0;b<768;b++)
|
||||
pal[a*768+b]=(63*a+(64-a)*pal[b])/64;
|
||||
|
||||
while(dis_sync()<10&&!dis_exit());
|
||||
tw_waitvr();
|
||||
tw_setpalette(&pal[768*63]);
|
||||
tw_opengraph();
|
||||
init_uframe(FP_SEG(memblock));
|
||||
init_copper();
|
||||
frame_count=0;
|
||||
while(!dis_exit() && f++<45)
|
||||
{
|
||||
while(frame_count<4); frame_count=0;
|
||||
if(f<=40)
|
||||
{
|
||||
if(p) {
|
||||
p=0;
|
||||
ulosta_frame(0x0a400);
|
||||
tw_setstart(16384);
|
||||
}
|
||||
else {
|
||||
p=1;
|
||||
ulosta_frame(0x0a000);
|
||||
tw_setstart(0U);
|
||||
}
|
||||
}
|
||||
cop_pal=&pal[768*wfade[f]];
|
||||
do_pal=1;
|
||||
}
|
||||
close_copper();
|
||||
}
|
||||
|
||||
BIN
PAM/OUTTAA.OBJ
Normal file
BIN
PAM/OUTTAA.OBJ
Normal file
Binary file not shown.
50
PAM/PAL.INC
Normal file
50
PAM/PAL.INC
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
|
||||
db 0,0,0,2,3,5,5,5,7,6,6,7,7,7,8,8
|
||||
db 8,10,10,10,11,11,11,13,12,12,14,13,13,15,15,15
|
||||
db 17,16,16,18,13,15,20,11,13,18,9,11,16,8,9,14
|
||||
db 7,8,12,5,6,10,4,4,8,3,3,6,2,2,5,1
|
||||
db 1,3,10,0,8,9,0,8,8,0,8,7,0,8,6,0
|
||||
db 8,6,0,7,5,0,7,4,0,7,3,0,6,2,0,6
|
||||
db 2,0,5,1,0,5,1,0,4,0,0,4,0,0,3,6
|
||||
db 3,6,7,4,7,9,6,9,11,8,11,13,11,13,0,63
|
||||
db 0,63,63,63,21,21,21,3,1,1,7,2,1,7,3,10
|
||||
db 9,4,3,9,5,12,9,6,7,9,8,16,9,11,18,11
|
||||
db 7,4,11,8,9,11,12,21,11,13,16,12,4,1,12,9
|
||||
db 17,13,10,11,13,14,23,14,6,3,14,8,6,14,11,20
|
||||
db 14,17,22,14,17,26,16,6,0,16,10,8,16,11,12,16
|
||||
db 15,20,16,19,24,16,19,28,17,8,3,17,13,15,17,14
|
||||
db 23,17,16,27,17,18,21,17,22,30,18,14,12,18,21,26
|
||||
db 19,9,6,19,11,9,19,18,29,19,22,33,20,8,1,20
|
||||
db 15,15,20,17,18,20,18,23,20,23,29,20,25,34,21,13
|
||||
db 11,21,20,31,21,21,24,22,10,3,22,12,6,22,16,12
|
||||
db 22,18,15,22,25,31,22,26,37,23,15,9,23,18,19,23
|
||||
db 22,21,23,22,27,23,27,34,23,29,39,24,23,24,25,10
|
||||
db 1,25,13,5,25,16,14,25,19,16,25,20,23,25,24,29
|
||||
db 25,30,42,26,14,8,26,17,10,26,20,19,26,25,32,26
|
||||
db 26,26,26,28,36,27,19,13,27,22,25,27,24,22,27,32
|
||||
db 44,28,12,0,28,14,3,28,21,16,28,23,19,28,26,29
|
||||
db 28,29,31,28,31,39,28,34,47,29,15,7,29,16,11,29
|
||||
db 25,25,29,29,35,30,19,10,30,21,13,30,25,21,30,28
|
||||
db 27,30,33,43,30,36,49,31,13,1,31,15,4,31,20,17
|
||||
db 31,22,20,31,27,30,31,31,30,31,31,37,32,17,7,32
|
||||
db 23,16,32,27,24,32,29,33,32,33,34,32,33,40,33,20
|
||||
db 11,33,24,22,33,26,27,33,34,37,33,36,45,34,14,0
|
||||
db 34,16,3,34,21,14,34,25,18,34,29,29,34,32,31,35
|
||||
db 18,8,35,22,9,35,27,22,35,29,25,35,31,34,35,35
|
||||
db 34,35,36,39,36,23,12,36,32,28,36,38,47,37,23,16
|
||||
db 37,25,20,37,28,28,37,33,32,37,33,36,37,37,36,37
|
||||
db 37,42,38,19,6,38,26,15,38,27,24,38,28,19,38,31
|
||||
db 25,39,17,2,39,21,9,39,31,29,39,35,34,39,38,39
|
||||
db 39,40,43,40,23,12,40,29,22,40,34,31,40,40,47,41
|
||||
db 27,16,41,32,26,41,36,37,41,41,40,42,21,6,42,26
|
||||
db 12,42,29,19,42,42,44,43,23,9,43,30,24,43,33,29
|
||||
db 43,35,32,43,39,38,44,31,21,44,33,25,44,37,35,44
|
||||
db 40,41,44,43,47,44,45,50,45,25,11,45,27,15,45,30
|
||||
db 17,45,36,27,45,43,42,46,36,31,46,40,35,46,45,45
|
||||
db 47,32,19,47,32,23,47,39,38,47,48,50,48,27,12,48
|
||||
db 29,15,48,35,24,48,35,28,48,39,32,48,42,37,48,42
|
||||
db 41,48,47,47,49,34,21,49,43,44,50,32,17,50,37,30
|
||||
db 50,49,49,51,29,13,51,36,25,51,39,34,51,46,44,52
|
||||
db 42,36,53,38,29,53,51,50,54,46,39,54,47,43,54,53
|
||||
db 53,55,41,34,56,56,56,57,44,34,57,55,53,59,58,56
|
||||
db -1
|
||||
BIN
PAM/PAL.PAL
Normal file
BIN
PAM/PAL.PAL
Normal file
Binary file not shown.
BIN
PAM/PAM.DSK
Normal file
BIN
PAM/PAM.DSK
Normal file
Binary file not shown.
370
PAM/PAM.MAP
Normal file
370
PAM/PAM.MAP
Normal file
|
|
@ -0,0 +1,370 @@
|
|||
|
||||
Start Stop Length Name Class
|
||||
|
||||
00000H 01096H 01097H _TEXT CODE
|
||||
01097H 01202H 0016CH OUTTAA_TEXT CODE
|
||||
01204H 01451H 0024EH ASMYT_TEXT CODE
|
||||
01452H 01452H 00000H INCLUDE_TEXT CODE
|
||||
01452H 01606H 001B5H TWEAK_TEXT CODE
|
||||
01608H 01692H 0008BH COPPER_TEXT CODE
|
||||
016A0H 01773H 000D4H TEXT_DISC CODE
|
||||
01780H 01780H 00000H _FARDATA FAR_DATA
|
||||
01780H 1177EH 0FFFFH KAKKA2 FAR_DATA
|
||||
1177FH 1177EH FFFFFH KAKKA3 FAR_DATA
|
||||
2177EH 2177DH FFFFFH KAKKA4 FAR_DATA
|
||||
3177DH 3177CH FFFFFH KAKKA5 FAR_DATA
|
||||
4177CH 50B91H 0F416H KAKKA6 FAR_DATA
|
||||
50B92H 5CE92H 0C301H KAKKA8 FAR_DATA
|
||||
5CEA0H 5CEA0H 00000H _FARBSS FAR_BSS
|
||||
5CEA0H 5CEA0H 00000H _OVERLAY_ OVRINFO
|
||||
5CEA0H 5CEA0H 00000H _1STUB_ STUBSEG
|
||||
5CEA0H 5D227H 00388H _DATA DATA
|
||||
5D228H 5D228H 00000H _CVTSEG DATA
|
||||
5D228H 5D228H 00000H _SCNSEG DATA
|
||||
5D228H 5D228H 00000H _CONST CONST
|
||||
5D228H 5D22DH 00006H _INIT_ INITDATA
|
||||
5D22EH 5D22EH 00000H _INITEND_ INITDATA
|
||||
5D22EH 5D22EH 00000H _EXIT_ EXITDATA
|
||||
5D22EH 5D22EH 00000H _EXITEND_ EXITDATA
|
||||
5D22EH 5D2ADH 00080H _BSS BSS
|
||||
5D2AEH 5D2AEH 00000H _BSSEND BSSEND
|
||||
5D2B0H 5D32FH 00080H _STACK STACK
|
||||
|
||||
|
||||
Detailed map of segments
|
||||
|
||||
0000:0000 0295 C=CODE S=_TEXT G=(none) M=C0.ASM ACBP=28
|
||||
0000:0295 002D C=CODE S=_TEXT G=(none) M=ATEXIT ACBP=28
|
||||
0000:02C2 0093 C=CODE S=_TEXT G=(none) M=EXIT ACBP=28
|
||||
0000:0355 0000 C=CODE S=_TEXT G=(none) M=FILES ACBP=28
|
||||
0000:0355 0000 C=CODE S=_TEXT G=(none) M=FILES2 ACBP=28
|
||||
0000:0355 0021 C=CODE S=_TEXT G=(none) M=H_LLSH ACBP=28
|
||||
0000:0376 0060 C=CODE S=_TEXT G=(none) M=H_PADD ACBP=28
|
||||
0000:03D6 004B C=CODE S=_TEXT G=(none) M=IOERROR ACBP=28
|
||||
0000:0421 0011 C=CODE S=_TEXT G=(none) M=ISATTY ACBP=28
|
||||
0000:0432 0029 C=CODE S=_TEXT G=(none) M=LSEEK ACBP=28
|
||||
0000:045B 0021 C=CODE S=_TEXT G=(none) M=N_PCMP ACBP=28
|
||||
0000:047C 00BA C=CODE S=_TEXT G=(none) M=SETUPIO ACBP=28
|
||||
0000:0536 0000 C=CODE S=_TEXT G=(none) M=STKLEN ACBP=28
|
||||
0000:0536 0432 C=CODE S=_TEXT G=(none) M=FARHEAP ACBP=28
|
||||
0000:0968 0140 C=CODE S=_TEXT G=(none) M=FBRK ACBP=28
|
||||
0000:0AA8 001C C=CODE S=_TEXT G=(none) M=SETBLOCK ACBP=28
|
||||
0000:0AC4 00CD C=CODE S=_TEXT G=(none) M=FFLUSH ACBP=28
|
||||
0000:0B91 0042 C=CODE S=_TEXT G=(none) M=FLUSHALL ACBP=28
|
||||
0000:0BD3 01E2 C=CODE S=_TEXT G=(none) M=FSEEK ACBP=28
|
||||
0000:0DB5 011D C=CODE S=_TEXT G=(none) M=SETVBUF ACBP=28
|
||||
0000:0ED2 0151 C=CODE S=_TEXT G=(none) M=WRITE ACBP=28
|
||||
0000:1023 003C C=CODE S=_TEXT G=(none) M=WRITEA ACBP=28
|
||||
0000:105F 0038 C=CODE S=_TEXT G=(none) M=XFFLUSH ACBP=28
|
||||
0109:0007 016C C=CODE S=OUTTAA_TEXT G=(none) M=OUTTAA.C ACBP=28
|
||||
0120:0004 024E C=CODE S=ASMYT_TEXT G=(none) M=ASMYT.ASM ACBP=48
|
||||
0145:0002 0000 C=CODE S=INCLUDE_TEXT G=(none) M=INCLUDE.ASM ACBP=48
|
||||
0145:0002 01B5 C=CODE S=TWEAK_TEXT G=(none) M=TWEAK.ASM ACBP=48
|
||||
0160:0008 008B C=CODE S=COPPER_TEXT G=(none) M=COPPER.ASM ACBP=48
|
||||
016A:0000 00D4 C=CODE S=TEXT_DISC G=(none) M=DISC.ASM ACBP=68
|
||||
0178:0000 0000 C=FAR_DATA S=_FARDATA G=(none) M=C0.ASM ACBP=68
|
||||
0178:0000 FFFF C=FAR_DATA S=KAKKA2 G=(none) M=INCLUDE.ASM ACBP=60
|
||||
1177:000F FFFF C=FAR_DATA S=KAKKA3 G=(none) M=INCLUDE.ASM ACBP=20
|
||||
2177:000E FFFF C=FAR_DATA S=KAKKA4 G=(none) M=INCLUDE.ASM ACBP=20
|
||||
3177:000D FFFF C=FAR_DATA S=KAKKA5 G=(none) M=INCLUDE.ASM ACBP=20
|
||||
4177:000C F416 C=FAR_DATA S=KAKKA6 G=(none) M=INCLUDE.ASM ACBP=20
|
||||
50B9:0002 C301 C=FAR_DATA S=KAKKA8 G=(none) M=INCLUDE.ASM ACBP=20
|
||||
5CEA:0000 0000 C=FAR_BSS S=_FARBSS G=(none) M=C0.ASM ACBP=68
|
||||
5CEA:0000 0000 C=OVRINFO S=_OVERLAY_ G=(none) M=C0.ASM ACBP=68
|
||||
5CEA:0000 0000 C=STUBSEG S=_1STUB_ G=(none) M=C0.ASM ACBP=68
|
||||
5CEA:0000 0093 C=DATA S=_DATA G=DGROUP M=C0.ASM ACBP=68
|
||||
5CEA:0094 00C8 C=DATA S=_DATA G=DGROUP M=OUTTAA.C ACBP=48
|
||||
5CEA:015C 0000 C=DATA S=_DATA G=DGROUP M=ASMYT.ASM ACBP=48
|
||||
5CEA:015C 0000 C=DATA S=_DATA G=DGROUP M=INCLUDE.ASM ACBP=48
|
||||
5CEA:015C 0000 C=DATA S=_DATA G=DGROUP M=TWEAK.ASM ACBP=48
|
||||
5CEA:015C 0000 C=DATA S=_DATA G=DGROUP M=COPPER.ASM ACBP=48
|
||||
5CEA:015C 0002 C=DATA S=_DATA G=DGROUP M=ATEXIT ACBP=48
|
||||
5CEA:015E 000C C=DATA S=_DATA G=DGROUP M=EXIT ACBP=48
|
||||
5CEA:016A 0190 C=DATA S=_DATA G=DGROUP M=FILES ACBP=48
|
||||
5CEA:02FA 002A C=DATA S=_DATA G=DGROUP M=FILES2 ACBP=48
|
||||
5CEA:0324 0000 C=DATA S=_DATA G=DGROUP M=H_LLSH ACBP=48
|
||||
5CEA:0324 0000 C=DATA S=_DATA G=DGROUP M=H_PADD ACBP=48
|
||||
5CEA:0324 005B C=DATA S=_DATA G=DGROUP M=IOERROR ACBP=48
|
||||
5CEA:0380 0000 C=DATA S=_DATA G=DGROUP M=ISATTY ACBP=48
|
||||
5CEA:0380 0000 C=DATA S=_DATA G=DGROUP M=LSEEK ACBP=48
|
||||
5CEA:0380 0000 C=DATA S=_DATA G=DGROUP M=N_PCMP ACBP=48
|
||||
5CEA:0380 0000 C=DATA S=_DATA G=DGROUP M=SETUPIO ACBP=48
|
||||
5CEA:0380 0002 C=DATA S=_DATA G=DGROUP M=STKLEN ACBP=48
|
||||
5CEA:0382 0000 C=DATA S=_DATA G=DGROUP M=FARHEAP ACBP=48
|
||||
5CEA:0382 0002 C=DATA S=_DATA G=DGROUP M=FBRK ACBP=48
|
||||
5CEA:0384 0000 C=DATA S=_DATA G=DGROUP M=SETBLOCK ACBP=48
|
||||
5CEA:0384 0000 C=DATA S=_DATA G=DGROUP M=FFLUSH ACBP=48
|
||||
5CEA:0384 0000 C=DATA S=_DATA G=DGROUP M=FLUSHALL ACBP=48
|
||||
5CEA:0384 0000 C=DATA S=_DATA G=DGROUP M=FSEEK ACBP=48
|
||||
5CEA:0384 0004 C=DATA S=_DATA G=DGROUP M=SETVBUF ACBP=48
|
||||
5CEA:0388 0000 C=DATA S=_DATA G=DGROUP M=WRITE ACBP=48
|
||||
5CEA:0388 0000 C=DATA S=_DATA G=DGROUP M=WRITEA ACBP=48
|
||||
5CEA:0388 0000 C=DATA S=_DATA G=DGROUP M=XFFLUSH ACBP=48
|
||||
5CEA:0388 0000 C=DATA S=_CVTSEG G=DGROUP M=C0.ASM ACBP=48
|
||||
5CEA:0388 0000 C=DATA S=_SCNSEG G=DGROUP M=C0.ASM ACBP=48
|
||||
5CEA:0388 0000 C=CONST S=_CONST G=DGROUP M=C0.ASM ACBP=48
|
||||
5CEA:0388 0000 C=INITDATA S=_INIT_ G=DGROUP M=C0.ASM ACBP=48
|
||||
5CEA:0388 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETUPIO ACBP=48
|
||||
5CEA:038E 0000 C=INITDATA S=_INITEND_ G=DGROUP M=C0.ASM ACBP=28
|
||||
5CEA:038E 0000 C=EXITDATA S=_EXIT_ G=DGROUP M=C0.ASM ACBP=48
|
||||
5CEA:038E 0000 C=EXITDATA S=_EXITEND_ G=DGROUP M=C0.ASM ACBP=28
|
||||
5CEA:038E 0000 C=BSS S=_BSS G=DGROUP M=C0.ASM ACBP=48
|
||||
5CEA:038E 0000 C=BSS S=_BSS G=DGROUP M=OUTTAA.C ACBP=48
|
||||
5CEA:038E 0080 C=BSS S=_BSS G=DGROUP M=ATEXIT ACBP=48
|
||||
5CEA:040E 0000 C=BSS S=_BSS G=DGROUP M=IOERROR ACBP=48
|
||||
5CEA:040E 0000 C=BSS S=_BSS G=DGROUP M=ISATTY ACBP=48
|
||||
5CEA:040E 0000 C=BSS S=_BSS G=DGROUP M=LSEEK ACBP=48
|
||||
5CEA:040E 0000 C=BSS S=_BSS G=DGROUP M=SETUPIO ACBP=48
|
||||
5CEA:040E 0000 C=BSS S=_BSS G=DGROUP M=SETBLOCK ACBP=48
|
||||
5CEA:040E 0000 C=BSS S=_BSS G=DGROUP M=WRITEA ACBP=48
|
||||
5CEA:040E 0000 C=BSSEND S=_BSSEND G=DGROUP M=C0.ASM ACBP=28
|
||||
5D2B:0000 0080 C=STACK S=_STACK G=(none) M=C0.ASM ACBP=74
|
||||
|
||||
Address Publics by Name
|
||||
|
||||
5CEA:0000 idle DATASEG@
|
||||
0000:0291 idle DGROUP@
|
||||
0000:0358 idle F_LXLSH@
|
||||
0000:0379 idle F_PADD@
|
||||
0000:03A8 idle F_PSUB@
|
||||
0000:0358 idle LXLSH@
|
||||
0000:0355 N_LXLSH@
|
||||
0000:0376 N_PADD@
|
||||
0000:045B N_PCMP@
|
||||
0000:03A5 idle N_PSUB@
|
||||
0000:0379 idle PADD@
|
||||
0000:03A8 idle PSUB@
|
||||
0000:027A idle _ABORT
|
||||
0000:0295 idle _ATEXIT
|
||||
0160:0012 _CLOSE_COPPER
|
||||
0160:000C _COP_PAL
|
||||
016A:005A _DIS_EXIT
|
||||
016A:00BE idle _DIS_GETMFRAME
|
||||
016A:0060 idle _DIS_INDEMO
|
||||
016A:0066 idle _DIS_MSGAREA
|
||||
016A:0073 idle _DIS_MUSCODE
|
||||
016A:0080 idle _DIS_MUSPLUS
|
||||
016A:008F idle _DIS_MUSROW
|
||||
016A:0040 _DIS_PARTSTART
|
||||
016A:009B idle _DIS_SETCOPPER
|
||||
016A:00AE idle _DIS_SETMFRAME
|
||||
016A:00CA _DIS_SYNC
|
||||
016A:0000 idle _DIS_VERSION
|
||||
016A:0023 idle _DIS_WAITB
|
||||
0160:0010 _DO_PAL
|
||||
5CEA:007F _ERRNO
|
||||
0000:031A _EXIT
|
||||
0000:0676 idle _FARFREE
|
||||
0000:078A idle _FARMALLOC
|
||||
0000:08EE idle _FARREALLOC
|
||||
0000:0AC4 _FFLUSH
|
||||
0000:0B91 _FLUSHALL
|
||||
0160:000A _FRAME_COUNT
|
||||
0000:0676 _FREE
|
||||
0000:0C55 _FSEEK
|
||||
0000:0CD5 idle _FTELL
|
||||
0160:003D _INIT_COPPER
|
||||
0120:0012 _INIT_UFRAME
|
||||
0000:0421 _ISATTY
|
||||
0000:0432 _LSEEK
|
||||
0109:0007 _MAIN
|
||||
0000:0780 _MALLOC
|
||||
0178:0000 _MEMBLOCK
|
||||
50B9:0002 _PAL
|
||||
0000:08E7 idle _REALLOC
|
||||
0145:0006 idle _SCR_SEG
|
||||
0000:0AA8 _SETBLOCK
|
||||
0000:0DB5 _SETVBUF
|
||||
0145:004C idle _TW_CLOSEGRAPH
|
||||
0145:0032 idle _TW_CLRSCR
|
||||
0145:008B idle _TW_GETPIXEL
|
||||
0145:0008 _TW_OPENGRAPH
|
||||
0145:0111 idle _TW_PICTOVMEM
|
||||
0145:0052 idle _TW_PUTPIXEL
|
||||
0145:00DB idle _TW_SETPALAREA
|
||||
0145:00C2 _TW_SETPALETTE
|
||||
0145:019D idle _TW_SETRGBPALETTE
|
||||
0145:00FC _TW_SETSTART
|
||||
0145:018F _TW_WAITVR
|
||||
0120:001F _ULOSTA_FRAME
|
||||
5CEA:0094 idle _WFADE
|
||||
0000:1000 idle __AHINCR
|
||||
0000:000C idle __AHSHIFT
|
||||
5CEA:015C __ATEXITCNT
|
||||
5CEA:038E __ATEXITTBL
|
||||
0000:09DE __BRK
|
||||
5CEA:008B __BRKLVL
|
||||
5CEA:006B idle __C0ARGC
|
||||
5CEA:006D idle __C0ARGV
|
||||
5CEA:0071 idle __C0ENVIRON
|
||||
0000:033B idle __CEXIT
|
||||
0000:016A __CHECKNULL
|
||||
0000:0157 __CLEANUP
|
||||
0000:0349 idle __C_EXIT
|
||||
5CEA:0324 idle __DOSERRNO
|
||||
0000:040F idle __DOSERROR
|
||||
5CEA:0326 idle __DOSERRORTOSV
|
||||
5CEA:0075 idle __ENVLNG
|
||||
5CEA:0077 idle __ENVSEG
|
||||
5CEA:0079 idle __ENVSIZE
|
||||
0000:0329 __EXIT
|
||||
5CEA:015E __EXITBUF
|
||||
5CEA:0162 idle __EXITFOPEN
|
||||
5CEA:0166 idle __EXITOPEN
|
||||
5CEA:0087 __HEAPBASE
|
||||
5CEA:008F __HEAPTOP
|
||||
5CEA:005B idle __INT0VECTOR
|
||||
5CEA:005F idle __INT4VECTOR
|
||||
5CEA:0063 idle __INT5VECTOR
|
||||
5CEA:0067 idle __INT6VECTOR
|
||||
0000:03D6 __IOERROR
|
||||
0000:0293 idle __MMODEL
|
||||
5CEA:02FA __NFILE
|
||||
5CEA:02FC __OPENFD
|
||||
5CEA:007D idle __OSMAJOR
|
||||
5CEA:007E idle __OSMINOR
|
||||
5CEA:007D idle __OSVERSION
|
||||
5CEA:007B __PSP
|
||||
5CEA:0388 idle __REALCVTVECTOR
|
||||
0000:01C0 __RESTOREZERO
|
||||
0000:0A1D __SBRK
|
||||
5CEA:0388 idle __SCANTODVECTOR
|
||||
0000:047C __SETUPIO
|
||||
5CEA:0081 idle __STARTTIME
|
||||
5CEA:0380 __STKLEN
|
||||
5CEA:016A __STREAMS
|
||||
0000:016B __TERMINATE
|
||||
5CEA:007D idle __VERSION
|
||||
0000:1023 __WRITE
|
||||
0000:105F __XFFLUSH
|
||||
5CEA:0085 idle ___BRKLVL
|
||||
0000:0536 idle ___FIRST
|
||||
0000:0538 idle ___LAST
|
||||
0000:053A idle ___ROVER
|
||||
0000:0ED2 ___WRITE
|
||||
|
||||
Address Publics by Value
|
||||
|
||||
0000:000C idle __AHSHIFT
|
||||
0000:0157 __CLEANUP
|
||||
0000:016A __CHECKNULL
|
||||
0000:016B __TERMINATE
|
||||
0000:01C0 __RESTOREZERO
|
||||
0000:027A idle _ABORT
|
||||
0000:0291 idle DGROUP@
|
||||
0000:0293 idle __MMODEL
|
||||
0000:0295 idle _ATEXIT
|
||||
0000:031A _EXIT
|
||||
0000:0329 __EXIT
|
||||
0000:033B idle __CEXIT
|
||||
0000:0349 idle __C_EXIT
|
||||
0000:0355 N_LXLSH@
|
||||
0000:0358 idle LXLSH@
|
||||
0000:0358 idle F_LXLSH@
|
||||
0000:0376 N_PADD@
|
||||
0000:0379 idle F_PADD@
|
||||
0000:0379 idle PADD@
|
||||
0000:03A5 idle N_PSUB@
|
||||
0000:03A8 idle F_PSUB@
|
||||
0000:03A8 idle PSUB@
|
||||
0000:03D6 __IOERROR
|
||||
0000:040F idle __DOSERROR
|
||||
0000:0421 _ISATTY
|
||||
0000:0432 _LSEEK
|
||||
0000:045B N_PCMP@
|
||||
0000:047C __SETUPIO
|
||||
0000:0536 idle ___FIRST
|
||||
0000:0538 idle ___LAST
|
||||
0000:053A idle ___ROVER
|
||||
0000:0676 _FREE
|
||||
0000:0676 idle _FARFREE
|
||||
0000:0780 _MALLOC
|
||||
0000:078A idle _FARMALLOC
|
||||
0000:08E7 idle _REALLOC
|
||||
0000:08EE idle _FARREALLOC
|
||||
0000:09DE __BRK
|
||||
0000:0A1D __SBRK
|
||||
0000:0AA8 _SETBLOCK
|
||||
0000:0AC4 _FFLUSH
|
||||
0000:0B91 _FLUSHALL
|
||||
0000:0C55 _FSEEK
|
||||
0000:0CD5 idle _FTELL
|
||||
0000:0DB5 _SETVBUF
|
||||
0000:0ED2 ___WRITE
|
||||
0000:1000 idle __AHINCR
|
||||
0000:1023 __WRITE
|
||||
0000:105F __XFFLUSH
|
||||
0109:0007 _MAIN
|
||||
0120:0012 _INIT_UFRAME
|
||||
0120:001F _ULOSTA_FRAME
|
||||
0145:0006 idle _SCR_SEG
|
||||
0145:0008 _TW_OPENGRAPH
|
||||
0145:0032 idle _TW_CLRSCR
|
||||
0145:004C idle _TW_CLOSEGRAPH
|
||||
0145:0052 idle _TW_PUTPIXEL
|
||||
0145:008B idle _TW_GETPIXEL
|
||||
0145:00C2 _TW_SETPALETTE
|
||||
0145:00DB idle _TW_SETPALAREA
|
||||
0145:00FC _TW_SETSTART
|
||||
0145:0111 idle _TW_PICTOVMEM
|
||||
0145:018F _TW_WAITVR
|
||||
0145:019D idle _TW_SETRGBPALETTE
|
||||
0160:000A _FRAME_COUNT
|
||||
0160:000C _COP_PAL
|
||||
0160:0010 _DO_PAL
|
||||
0160:0012 _CLOSE_COPPER
|
||||
0160:003D _INIT_COPPER
|
||||
016A:0000 idle _DIS_VERSION
|
||||
016A:0023 idle _DIS_WAITB
|
||||
016A:0040 _DIS_PARTSTART
|
||||
016A:005A _DIS_EXIT
|
||||
016A:0060 idle _DIS_INDEMO
|
||||
016A:0066 idle _DIS_MSGAREA
|
||||
016A:0073 idle _DIS_MUSCODE
|
||||
016A:0080 idle _DIS_MUSPLUS
|
||||
016A:008F idle _DIS_MUSROW
|
||||
016A:009B idle _DIS_SETCOPPER
|
||||
016A:00AE idle _DIS_SETMFRAME
|
||||
016A:00BE idle _DIS_GETMFRAME
|
||||
016A:00CA _DIS_SYNC
|
||||
0178:0000 _MEMBLOCK
|
||||
50B9:0002 _PAL
|
||||
5CEA:0000 idle DATASEG@
|
||||
5CEA:005B idle __INT0VECTOR
|
||||
5CEA:005F idle __INT4VECTOR
|
||||
5CEA:0063 idle __INT5VECTOR
|
||||
5CEA:0067 idle __INT6VECTOR
|
||||
5CEA:006B idle __C0ARGC
|
||||
5CEA:006D idle __C0ARGV
|
||||
5CEA:0071 idle __C0ENVIRON
|
||||
5CEA:0075 idle __ENVLNG
|
||||
5CEA:0077 idle __ENVSEG
|
||||
5CEA:0079 idle __ENVSIZE
|
||||
5CEA:007B __PSP
|
||||
5CEA:007D idle __OSVERSION
|
||||
5CEA:007D idle __OSMAJOR
|
||||
5CEA:007D idle __VERSION
|
||||
5CEA:007E idle __OSMINOR
|
||||
5CEA:007F _ERRNO
|
||||
5CEA:0081 idle __STARTTIME
|
||||
5CEA:0085 idle ___BRKLVL
|
||||
5CEA:0087 __HEAPBASE
|
||||
5CEA:008B __BRKLVL
|
||||
5CEA:008F __HEAPTOP
|
||||
5CEA:0094 idle _WFADE
|
||||
5CEA:015C __ATEXITCNT
|
||||
5CEA:015E __EXITBUF
|
||||
5CEA:0162 idle __EXITFOPEN
|
||||
5CEA:0166 idle __EXITOPEN
|
||||
5CEA:016A __STREAMS
|
||||
5CEA:02FA __NFILE
|
||||
5CEA:02FC __OPENFD
|
||||
5CEA:0324 idle __DOSERRNO
|
||||
5CEA:0326 idle __DOSERRORTOSV
|
||||
5CEA:0380 __STKLEN
|
||||
5CEA:0388 idle __SCANTODVECTOR
|
||||
5CEA:0388 idle __REALCVTVECTOR
|
||||
5CEA:038E __ATEXITTBL
|
||||
|
||||
Program entry point at 0000:0000
|
||||
|
||||
BIN
PAM/PAM.PRJ
Normal file
BIN
PAM/PAM.PRJ
Normal file
Binary file not shown.
BIN
PAM/PRAX4.FLI
Normal file
BIN
PAM/PRAX4.FLI
Normal file
Binary file not shown.
322
PAM/TWEAK.ASM
Normal file
322
PAM/TWEAK.ASM
Normal file
|
|
@ -0,0 +1,322 @@
|
|||
IDEAL
|
||||
MODEL large
|
||||
P386
|
||||
|
||||
CODESEG
|
||||
|
||||
PUBLIC C tw_opengraph, C tw_putpixel, C tw_setpalette, C tw_setstart
|
||||
PUBLIC C tw_pictovmem, C tw_closegraph, C tw_waitvr, C tw_setrgbpalette
|
||||
PUBLIC C tw_clrscr, C tw_setpalarea, C tw_getpixel
|
||||
|
||||
PUBLIC C scr_seg ; videomuistin alku segmentti
|
||||
|
||||
planetau db 1,2,4,8
|
||||
scr_seg dw 0a000h
|
||||
|
||||
; avaa 320x200 tweak tilan, 4 sivua, 4 planea
|
||||
|
||||
PROC tw_opengraph
|
||||
|
||||
mov ax,13h
|
||||
int 10h
|
||||
|
||||
mov dx, 03c4h
|
||||
mov ax, 0604h
|
||||
out dx, ax ; chain4 off
|
||||
|
||||
mov ax, 0f02h
|
||||
out dx, ax
|
||||
mov dx, 0a000h
|
||||
mov es, dx
|
||||
xor di, di
|
||||
xor ax, ax
|
||||
mov cx, 8000h
|
||||
rep stosw ; clear vmem
|
||||
|
||||
mov dx, 03d4h
|
||||
mov ax, 0014h
|
||||
out dx, ax ; crtc long off
|
||||
|
||||
mov ax, 0e317h
|
||||
out dx, ax ; crtc byte on
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC tw_clrscr
|
||||
|
||||
mov dx, 3c4h
|
||||
mov ax, 0f02h
|
||||
out dx, ax
|
||||
mov dx, [cs:scr_seg]
|
||||
mov es, dx
|
||||
xor di, di
|
||||
xor eax, eax
|
||||
mov cx, 1000h
|
||||
rep stosd ; clear vmem
|
||||
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC tw_closegraph
|
||||
|
||||
mov ax, 03h
|
||||
int 10h
|
||||
|
||||
ret
|
||||
ENDP
|
||||
|
||||
; piirt„„ pisteen ruudulle
|
||||
|
||||
PROC tw_putpixel
|
||||
|
||||
ARG x:word, y:word, color:word
|
||||
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
||||
mov ax, [cs:scr_seg]
|
||||
mov es, ax
|
||||
|
||||
mov dx, 03c4h
|
||||
mov bx, [x]
|
||||
and bx, 03h
|
||||
mov ah, [cs:planetau+bx]
|
||||
mov al, 02h
|
||||
out dx, ax ; select plane
|
||||
|
||||
mov bx, [x]
|
||||
shr bx, 2
|
||||
mov ax, [y]
|
||||
shl ax, 4
|
||||
add bx, ax
|
||||
shl ax, 1
|
||||
add bx, ax
|
||||
shl ax, 2
|
||||
add bx, ax
|
||||
|
||||
mov cx, [color]
|
||||
mov [es:bx], cl
|
||||
|
||||
pop bp
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC tw_getpixel
|
||||
|
||||
ARG x:word, y:word
|
||||
|
||||
push bp
|
||||
mov bp, sp
|
||||
|
||||
mov ax, [scr_seg]
|
||||
mov es, ax
|
||||
|
||||
mov dx, 03ceh
|
||||
mov ax, [x]
|
||||
and ax, 03h
|
||||
mov ah, al
|
||||
mov al, 04h
|
||||
out dx, ax ; select plane
|
||||
|
||||
mov ax, [y]
|
||||
shl ax, 4
|
||||
mov bx, ax
|
||||
shl ax, 1
|
||||
add bx, ax
|
||||
shl ax, 2
|
||||
add bx, ax
|
||||
mov ax, [x]
|
||||
shr ax, 2
|
||||
add bx, ax
|
||||
|
||||
xor ax, ax
|
||||
mov al,[es:bx]
|
||||
|
||||
pop bp
|
||||
ret
|
||||
ENDP
|
||||
; vaihtaa koko paletin
|
||||
|
||||
PROC tw_setpalette
|
||||
|
||||
ARG pal:dword
|
||||
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si ds
|
||||
|
||||
lds si,[pal]
|
||||
cld
|
||||
mov cx, 300h
|
||||
mov dx, 03c8h
|
||||
mov al, 0
|
||||
out dx, al
|
||||
inc dx
|
||||
|
||||
rep outsb
|
||||
|
||||
pop ds si
|
||||
pop bp
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC C tw_setpalarea
|
||||
|
||||
ARG pal:dword, start:word, cnt:word
|
||||
|
||||
push si ds
|
||||
|
||||
lds si,[pal]
|
||||
cld
|
||||
mov cx, [cnt]
|
||||
mov ax, cx
|
||||
add cx, ax
|
||||
add cx, ax
|
||||
mov dx, 03c8h
|
||||
mov ax, [start]
|
||||
out dx, al
|
||||
inc dx
|
||||
|
||||
rep outsb
|
||||
|
||||
pop ds si
|
||||
ret
|
||||
ENDP
|
||||
|
||||
; asettaa videomuistin alun
|
||||
|
||||
PROC tw_setstart
|
||||
|
||||
ARG start:word
|
||||
|
||||
push bp
|
||||
mov bp,sp
|
||||
|
||||
mov bx, [start]
|
||||
mov dx, 03d4h
|
||||
mov al, 0dh
|
||||
mov ah, bl
|
||||
out dx, ax
|
||||
mov al, 0ch
|
||||
mov ah, bh
|
||||
out dx, ax
|
||||
|
||||
pop bp
|
||||
ret
|
||||
ENDP
|
||||
|
||||
; kopioi muistista unpacked 1bpl kuvan 4planen kuvaksi videomuistiin
|
||||
; void tw_pictovmem(char far *pic, unsigned int vstart, unsigned int bytes);
|
||||
|
||||
PROC tw_pictovmem
|
||||
|
||||
ARG pic:dword,to:word,len:word
|
||||
|
||||
push bp
|
||||
mov bp,sp
|
||||
push ds es si di
|
||||
|
||||
mov es, [scr_seg]
|
||||
mov di, [to]
|
||||
lds si, [pic]
|
||||
mov cx, [len]
|
||||
|
||||
mov dx,03ceh
|
||||
mov ax,4005h ; w-mode 0
|
||||
out dx,ax
|
||||
|
||||
mov dx, 03c4h
|
||||
mov al, 02h
|
||||
mov ah, 1h
|
||||
out dx, ax
|
||||
shr cx, 2
|
||||
@@l1:
|
||||
movsb
|
||||
add si, 3
|
||||
loop @@l1
|
||||
|
||||
|
||||
lds si, [pic]
|
||||
add si, 1d
|
||||
mov di, [to]
|
||||
mov cx, [len]
|
||||
|
||||
mov ax, 0202h
|
||||
out dx, ax
|
||||
shr cx, 2
|
||||
@@l2:
|
||||
movsb
|
||||
add si, 3
|
||||
loop @@l2
|
||||
|
||||
|
||||
lds si, [pic]
|
||||
add si, 2d
|
||||
mov di, [to]
|
||||
mov cx, [len]
|
||||
|
||||
mov ax, 0402h
|
||||
out dx, ax
|
||||
shr cx, 2
|
||||
@@l3:
|
||||
movsb
|
||||
add si, 3
|
||||
loop @@l3
|
||||
|
||||
|
||||
lds si, [pic]
|
||||
add si, 3d
|
||||
mov di, [to]
|
||||
mov cx, [len]
|
||||
|
||||
mov ax, 0802h
|
||||
out dx, ax
|
||||
shr cx, 2
|
||||
@@l4:
|
||||
movsb
|
||||
add si, 3
|
||||
loop @@l4
|
||||
|
||||
pop di si es ds
|
||||
pop bp
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC tw_waitvr
|
||||
|
||||
mov dx, 03dah
|
||||
|
||||
@@loop1:
|
||||
in al, dx
|
||||
test al, 08h
|
||||
jnz @@loop1
|
||||
|
||||
@@loop2:
|
||||
in al, dx
|
||||
test al, 08h
|
||||
jz @@loop2
|
||||
|
||||
ret
|
||||
ENDP
|
||||
|
||||
|
||||
PROC C tw_setrgbpalette
|
||||
|
||||
ARG pal:word, r:word, g:word, b:word
|
||||
|
||||
mov dx, 3c8h
|
||||
mov ax, [pal]
|
||||
out dx, al
|
||||
|
||||
inc dx
|
||||
mov ax, [r]
|
||||
out dx, al
|
||||
mov ax, [g]
|
||||
out dx, al
|
||||
mov ax, [b]
|
||||
out dx, al
|
||||
|
||||
ret
|
||||
ENDP
|
||||
|
||||
END
|
||||
BIN
PAM/TWEAK.OBJ
Normal file
BIN
PAM/TWEAK.OBJ
Normal file
Binary file not shown.
278
PAM/VFLI.C
Normal file
278
PAM/VFLI.C
Normal file
|
|
@ -0,0 +1,278 @@
|
|||
#include <stdio.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <dos.h>
|
||||
|
||||
unsigned char far *vram=(char far *)0xa0000000;
|
||||
|
||||
int blocksleft=999;
|
||||
|
||||
int wid,hig,pics;
|
||||
|
||||
long cnt[256];
|
||||
char lookup[256];
|
||||
|
||||
char palette[768];
|
||||
char ownpal[768];
|
||||
|
||||
int docoltable;
|
||||
int colorlookup;
|
||||
int oktoviewpal;
|
||||
int useownpal;
|
||||
int savefcp;
|
||||
|
||||
FILE *out;
|
||||
|
||||
main(int argc,char *argv[])
|
||||
{
|
||||
int a;
|
||||
FILE *f1;
|
||||
FILE *ppp;
|
||||
f1=fopen(argv[1],"rb");
|
||||
if(f1==NULL) return(0);
|
||||
out=fopen("out.u","wb");
|
||||
if(out==NULL) return(0);
|
||||
|
||||
_asm mov ax,19
|
||||
_asm int 10h
|
||||
|
||||
for(a=0;a<256;a++) lookup[a]=a;
|
||||
|
||||
docoltable=1;
|
||||
oktoviewpal=0;
|
||||
useownpal=0;
|
||||
savefcp=1;
|
||||
rewind(f1); readflic(f1,0);
|
||||
|
||||
ppp=fopen("pal.pal","wb");
|
||||
if(ppp!=0)
|
||||
{
|
||||
fwrite(palette,1,768,ppp);
|
||||
fclose(ppp);
|
||||
}
|
||||
|
||||
_asm mov ax,3
|
||||
_asm int 10h
|
||||
fclose(f1);
|
||||
}
|
||||
|
||||
int readflic(FILE *f1,int flag)
|
||||
{
|
||||
int a;
|
||||
long len,l,ll;
|
||||
len=getw(f1);
|
||||
len+=(long)getw(f1)<<16;
|
||||
getw(f1);
|
||||
pics=getw(f1);
|
||||
wid=getw(f1);
|
||||
hig=getw(f1);
|
||||
fseek(f1,0x80L,SEEK_SET);
|
||||
/*printf("\n\n\n\n\n\n\n\n\n\n\n");*/
|
||||
for(;;)
|
||||
{
|
||||
l=ftell(f1);
|
||||
l+=(long)getw(f1);
|
||||
l+=(long)getw(f1)<<16;
|
||||
a=getw(f1);
|
||||
if(feof(f1)) break;
|
||||
if(a==0xf1fa)
|
||||
{
|
||||
int a;
|
||||
blocksleft=getw(f1);
|
||||
for(a=0;a<8;a++) getc(f1);
|
||||
ll=l;
|
||||
}
|
||||
else
|
||||
{
|
||||
doblock(f1,(unsigned)a);
|
||||
fseek(f1,l,SEEK_SET);
|
||||
blocksleft--;
|
||||
if(blocksleft==0)
|
||||
{
|
||||
fseek(f1,ll,SEEK_SET);
|
||||
{
|
||||
int x,y;
|
||||
unsigned u;
|
||||
for(y=0;y<hig;y++)
|
||||
{
|
||||
u=y*320;
|
||||
for(x=0;x<wid;x++) cnt[vram[u++]]++;
|
||||
}
|
||||
}
|
||||
if(savefcp)
|
||||
{
|
||||
static int framecnt=0;
|
||||
int x,y;
|
||||
{
|
||||
// outportb(0x3c8,7);
|
||||
// outportb(0x3c9,47);
|
||||
// outportb(0x3c9,47);
|
||||
// outportb(0x3c9,47);
|
||||
fwrite(MK_FP(0x0a000,0),1,64000,out);
|
||||
}
|
||||
}
|
||||
if(flag&1) getch();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int viewpal(void)
|
||||
{
|
||||
int a;
|
||||
unsigned u;
|
||||
for(a=0;a<256;a++)
|
||||
{
|
||||
u=(a>>4)*3+320-48+((a&15)*3+200-48)*320;
|
||||
vram[u]=a;
|
||||
vram[u+1]=a;
|
||||
vram[u+2]=a;
|
||||
vram[320+u]=a;
|
||||
vram[320+u+1]=a;
|
||||
vram[320+u+2]=a;
|
||||
vram[640+u]=a;
|
||||
vram[640+u+1]=a;
|
||||
vram[640+u+2]=a;
|
||||
}
|
||||
}
|
||||
|
||||
int doblock(FILE *f1,unsigned type)
|
||||
{
|
||||
if((type==0x000b || type==0x0004) && useownpal)
|
||||
{
|
||||
int a;
|
||||
outportb(0x3c8,0);
|
||||
for(a=0;a<768;a++) outportb(0x3c9,ownpal[a]);
|
||||
if(oktoviewpal) viewpal();
|
||||
return(0);
|
||||
}
|
||||
if(type==0x000b)
|
||||
{
|
||||
int a,c,d;
|
||||
c=getc(f1)*256; /* count */
|
||||
c+=getc(f1);
|
||||
c*=3;
|
||||
a=getc(f1)*256; /* first */
|
||||
a+=getc(f1);
|
||||
outportb(0x3c8,a);
|
||||
for(a=0;a<c;a++) outportb(0x3c9,palette[a]=getc(f1));
|
||||
if(oktoviewpal) viewpal();
|
||||
}
|
||||
else if(type==0x0004)
|
||||
{
|
||||
int a,c,d;
|
||||
c=getc(f1)*256; /* count */
|
||||
c+=getc(f1);
|
||||
c*=3;
|
||||
a=getc(f1)*256; /* first */
|
||||
a+=getc(f1);
|
||||
outportb(0x3c8,a);
|
||||
for(a=0;a<c;a++) outportb(0x3c9,palette[a]=(getc(f1)>>2));
|
||||
if(oktoviewpal) viewpal();
|
||||
}
|
||||
else if(type==0x000c)
|
||||
{
|
||||
int a,b,c,lc,cc,cm,lb,le,lad;
|
||||
long l;
|
||||
unsigned int u;
|
||||
lb=getw(f1);
|
||||
le=lb+getw(f1);
|
||||
for(lc=lb;lc<le;lc++)
|
||||
{
|
||||
cm=getc(f1);
|
||||
u=lc*320;
|
||||
for(cc=0;cc<cm && u<64000;cc++)
|
||||
{
|
||||
a=getc(f1);
|
||||
u+=a;
|
||||
a=getc(f1);
|
||||
if(a<0x80)
|
||||
{
|
||||
for(c=0;c<a;c++) vram[u++]=lookup[getc(f1)];
|
||||
}
|
||||
else
|
||||
{
|
||||
a=256-a;
|
||||
b=lookup[getc(f1)];
|
||||
for(c=0;c<a;c++) vram[u++]=b;
|
||||
}
|
||||
}
|
||||
}
|
||||
u=0;
|
||||
}
|
||||
else if(type==0x0007)
|
||||
{
|
||||
int a,b,b1,b2,c,lc,cc,cm,lb,le,lad;
|
||||
int skipcnt;
|
||||
long l;
|
||||
unsigned int u;
|
||||
le=getw(f1);
|
||||
for(lc=lad=0;lc<le;lc++)
|
||||
{
|
||||
cm=getw(f1);
|
||||
while(cm<0)
|
||||
{
|
||||
lad=320*-cm;
|
||||
cm=getw(f1);
|
||||
}
|
||||
u=lc*320+lad;
|
||||
for(cc=0;cc<cm && u<64000;cc++)
|
||||
{
|
||||
a=getc(f1);
|
||||
u+=a;
|
||||
a=getc(f1);
|
||||
if(a<0x80)
|
||||
{
|
||||
for(c=0;c<a;c++)
|
||||
{
|
||||
vram[u++]=lookup[getc(f1)];
|
||||
vram[u++]=lookup[getc(f1)];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
a=256-a;
|
||||
b1=lookup[getc(f1)];
|
||||
b2=lookup[getc(f1)];
|
||||
for(c=0;c<a;c++)
|
||||
{
|
||||
vram[u++]=b1;
|
||||
vram[u++]=b2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
u=0;
|
||||
}
|
||||
else if(type==0x000f)
|
||||
{
|
||||
int a,b,c,lc,cc,cm;
|
||||
long l;
|
||||
unsigned int u;
|
||||
for(lc=0;lc<hig;lc++)
|
||||
{
|
||||
u=lc*320;
|
||||
cm=getc(f1);
|
||||
for(cc=0;cc<cm && u<64000;cc++)
|
||||
{
|
||||
a=getc(f1);
|
||||
if(a<0x80)
|
||||
{
|
||||
b=lookup[getc(f1)];
|
||||
for(c=0;c<a;c++) vram[u++]=b;
|
||||
}
|
||||
else
|
||||
{
|
||||
a=256-a;
|
||||
for(c=0;c<a;c++) vram[u++]=lookup[getc(f1)];
|
||||
}
|
||||
}
|
||||
}
|
||||
u=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("UNKNOWN BLOCK TYPE: %04X\n",type);
|
||||
getch();
|
||||
}
|
||||
}
|
||||
BIN
PAM/VFLI.EXE
Normal file
BIN
PAM/VFLI.EXE
Normal file
Binary file not shown.
BIN
PAM/VFLI.OBJ
Normal file
BIN
PAM/VFLI.OBJ
Normal file
Binary file not shown.
Loading…
Reference in a new issue