1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-15 15:57:13 +00:00

Remove cdrom&cdaudio support code. (#339)

This is not used in Medley (the MISCN-TABLE-LIST doesn't include
the required constants), nor does anything use or reference this
code. It also won't compile as it needs some routines that are
missing from our code.
This commit is contained in:
Bruce Mitchener 2021-02-10 11:38:08 +07:00 committed by GitHub
parent 78943073c3
commit b21aeecf4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 0 additions and 678 deletions

View File

@ -76,8 +76,6 @@ ENDIF()
# These don't build on Linux. Some are for SunOS and DOS. Others ... ?
SET(BAD_SRCS
src/atom.c
src/cdaudio.c
src/cdrom.c
src/chatter.c
src/Cldeetr.c
src/codeconv.c
@ -233,7 +231,6 @@ SET(MAIKO_HDRS
inc/bltdefs.h
inc/byteswapdefs.h
inc/car-cdrdefs.h
inc/cdrom.h
inc/cell.h
inc/chardevdefs.h
inc/commondefs.h

View File

@ -1,144 +0,0 @@
/* $Id: cdrom.h,v 1.2 1999/01/03 02:05:54 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/***********************************
file: cdrom_audio.h
***********************************/
/* function number for CD audio functions */
#define CD_OPEN 1
#define CD_CLOSE 2
#define CD_READ 3
#define CD_DISK_INFO 4
#define CD_TRACK_INFO 5
#define CD_START 6
#define CD_STOP 7
#define CD_PLAY 8
#define CD_Q_READ 9
#define CD_PAUSE 10
#define CD_RESUME 11
#define CD_VOLUME 12
#define CD_EJECT 13
/* function numbers for CD-ROM */
#define CDROM_INIT_DRV 1
#define CDROM_KEN_INT 2
#define CDROM_CHOSAKU 3
#define CDROM_MIKANA 4
#define CDROM_MIKANAT 5
#define CDROM_HYOKI 6
#define CDROM_HYOKIT 7
#define CDROM_EIJI 8
#define CDROM_EIJIT 9
#define CDROM_SUJI 10
#define CDROM_SUJIT 11
#define CDROM_ZENKANA 12
#define CDROM_ZENKANAT 13
#define CDROM_ZENKANJ 14
#define CDROM_ZENKANJT 15
#define CDROM_ZENEIJI 16
#define CDROM_ZENEIJIIT 17
#define CDROM_KOHKANA 18
#define CDROM_KOHKANAT 19
#define CDROM_KOHKANJ 20
#define CDROM_KOHKANJT 21
#define CDROM_KOHEIJI 22
#define CDROM_KOHEIJIT 23
#define CDROM_ZUHAN 24
#define CDROM_JYOKEN 25
#define CDROM_JYOKENT 26
#define CDROM_MENU 27
#define CDROM_AUDIOST 28
#define CDROM_AUDIOED 29
#define CDROM_AUDIOQ_GET 30
#define CDROM_GAIJI 31
#define CDROM_ZENGO 32
#define CDROM_KEIZOKU 33
#define CDROM_SYURYO 34
typedef unsigned char BYTE;
typedef unsigned long DWORD;
/*
extern DWORD CDred_lbn();
extern void CDlbn_red();
extern int CDopen();
extern int CDclose();
extern int CDread();
extern int CDdisk_info();
extern int CDtrack_info();
extern int CDstart();
extern int CDstop();
extern int CDplay();
extern int CDqread();
extern int CDpause();
extern int CDresume();
extern int CDvolume();
extern int CDeject();
*/
#define LispStringToCString(Lisp, C, MaxLen) \
{ \
OneDArray *arrayp; \
char *base, *dp; \
short *sbase; \
int i, length; \
arrayp = (OneDArray *)(Addr68k_from_LADDR(Lisp)); \
length = min(MaxLen, arrayp->totalsize); \
switch(arrayp->typenumber) \
{ \
case THIN_CHAR_TYPENUMBER: \
base = ((char *)(Addr68k_from_LADDR(arrayp->base))) \
+ ((int)(arrayp->offset)); \
strncpy(C, base, length); \
C[length] = '\0'; \
break; \
\
case FAT_CHAR_TYPENUMBER: \
sbase = ((short *)(Addr68k_from_LADDR(arrayp->base))) \
+ ((int)(arrayp->offset)); \
for(i=0,dp=C;i<(length);i++) \
*dp++ = (char)(*sbase++); \
*dp = '\0'; \
break; \
default: \
error("LispStringToCString can not handle\n"); \
} \
}
#define LispStringToCString2(Lisp, C, MaxLen) \
{ \
OneDArray *arrayp; \
char *base, *dp; \
short *sbase; \
int i, length; \
arrayp = (OneDArray *)(Addr68k_from_LADDR(Lisp)); \
length = min(MaxLen, arrayp->totalsize); \
switch(arrayp->typenumber) \
{ \
case THIN_CHAR_TYPENUMBER: \
base = ((char *)(Addr68k_from_LADDR(arrayp->base))) \
+ ((int)(arrayp->offset)); \
strncpy(C, base, length); \
C[length] = '\0'; \
break; \
\
case FAT_CHAR_TYPENUMBER: \
sbase = ((short *)(Addr68k_from_LADDR(arrayp->base))) \
+ ((int)(arrayp->offset)); \
for(i=0,dp=C;i<(length);i++) { \
*dp++ = (char)(*sbase / 256 ); \
*dp++ = (char)(*sbase % 256 ); \
sbase++; \
} \
*dp = '\0'; \
break; \
default: \
error("LispStringToCString can not handle\n"); \
} \
}
#define min(a, b) ((a <= b)?a:b)

View File

@ -184,10 +184,6 @@
/* for EJLISP */
#define miscn_EJLISP 060
/* for CD-ROM */
#define miscn_CDAUDIO 070
#define miscn_CDROM 071
/* Assigned USER SUBR numbers */
#define user_subr_DUMMY 012
#define user_subr_SAMPLE_USER_SUBR 00

View File

@ -1,306 +0,0 @@
/* $Id: cdaudio.c,v 1.3 1999/05/31 23:35:25 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved
*/
/************************************************************************/
/* */
/* (C) Copyright 1989-95 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#include "version.h"
/***********************************
file: cdaudio.c
***********************************/
#include <stdio.h>
#include <strings.h>
#include "lispemul.h"
#include "address.h"
#include "adr68k.h"
#include "lsptypes.h"
#include "lispmap.h"
#include "emlglob.h"
#include "lspglob.h"
#include "arith.h"
#include "cdrom.h"
int cdaudio(LispPTR *args) {
int request;
int res;
N_GETNUMBER(args[0], request, BAD_ARG);
#ifdef DEBUG
printf("CD-ROM function called. function = %d\n", request);
#endif
switch (request) {
case CD_OPEN: res = cd_open(args); break;
case CD_CLOSE: res = cd_close(args); break;
case CD_READ: res = cd_read(args); break;
case CD_DISK_INFO: res = cd_disk_info(args); break;
case CD_TRACK_INFO: res = cd_track_info(args); break;
case CD_START: res = cd_start(args); break;
case CD_STOP: res = cd_stop(args); break;
case CD_PLAY: res = cd_play(args); break;
case CD_Q_READ: res = cd_q_read(args); break;
case CD_PAUSE: res = cd_pause(args); break;
case CD_RESUME: res = cd_resume(args); break;
case CD_VOLUME: res = cd_volume(args); break;
case CD_EJECT: res = cd_eject(args); break;
default: return (NIL); break;
}
#ifdef DEBUG
printf("Result = %d\n", res);
#endif
if (res == 0) {
return (ATOM_T);
} else {
return (GetSmallp(res));
}
BAD_ARG:
return (NIL);
}
int cd_open(LispPTR *args)
/*
args[0] function number
args[1] CD-ROM drive path name string
*/
{
char drive[80];
LispStringToCString(args[1], drive, 80);
#ifdef DEBUG
printf("cd_open called. drive = %s\n", drive);
#endif
return (CDopen(drive));
}
int cd_close(LispPTR *args)
/*
args[0] function number
*/
{
#ifdef DEBUG
printf("cd_close is called\n");
#endif
return (CDclose());
}
int cd_read(LispPTR *args)
/*
args[0] function number
args[1] Logical block number
args[2] number of blocks to read
args[3] data buffer
*/
{
DWORD blk;
int num;
BYTE *buf;
LispPTR *naddress;
char *base;
int offset;
switch (GetTypeNumber(args[1])) {
case TYPE_SMALLP: N_GETNUMBER(args[1], blk, BAD_ARG); break;
case TYPE_FIXP: blk = *(DWORD *)(Addr68k_from_LADDR(args[1])); break;
default: return (1); break;
}
switch (GetTypeNumber(args[2])) {
case TYPE_SMALLP: N_GETNUMBER(args[2], num, BAD_ARG); break;
case TYPE_FIXP: num = *(DWORD *)(Addr68k_from_LADDR(args[2])); break;
default: return (1); break;
}
if (GetTypeNumber(args[3]) == TYPE_ONED_ARRAY) {
naddress = (LispPTR *)(Addr68k_from_LADDR(args[3]));
base = (char *)(Addr68k_from_LADDR(((OneDArray *)naddress)->base));
offset = (int)(((OneDArray *)naddress)->offset);
buf = base + offset;
} else
return (1);
#ifdef DEBUG
printf("call CDread()\n");
printf("blk = %d, num = %d buff = %d\n", blk, num, buf);
#endif
return (CDread(blk, num, buf));
BAD_ARG:
return (1);
}
int cd_disk_info(LispPTR *args)
/*
args[0] function number
args[1] min tune number
args[2] max tune number
*/
{
BYTE min_no, max_no;
int res;
res = CDdisk_info(&min_no, &max_no);
#ifdef DEBUG
printf("min = %d, max = %d", min_no, max_no);
#endif
*(int *)(Addr68k_from_LADDR(args[1])) = (int)min_no;
*(int *)(Addr68k_from_LADDR(args[2])) = (int)max_no;
return (res);
}
int cd_track_info(LispPTR *args)
/*
args[0] function number (in: smallp)
args[1] tune number (in: fixp)
args[2] start address(LBN) (out: fixp)
args[3] control data (out: fixp)
*/
{
int tno;
DWORD blk;
BYTE cntl;
int res;
switch (GetTypeNumber(args[1])) {
case TYPE_SMALLP: N_GETNUMBER(args[1], tno, BAD_ARG); break;
case TYPE_FIXP: tno = *(DWORD *)(Addr68k_from_LADDR(args[1])); break;
}
res = CDtrack_info(tno, &blk, &cntl);
*(int *)(Addr68k_from_LADDR(args[2])) = (int)blk;
*(int *)(Addr68k_from_LADDR(args[3])) = (int)cntl;
return (res);
BAD_ARG:
return (-1);
}
int cd_start(LispPTR *args)
/*
args[0] function number
*/
{
return (CDstart());
}
int cd_stop(LispPTR *args)
/*
args[0] function number
*/
{
return (CDstop());
}
int cd_play(LispPTR *args)
/*
args[0] function number
args[1] play start address(LBN)
args[2] play end address(LBN)
*/
{
DWORD sblk, eblk;
switch (GetTypeNumber(args[1])) {
case TYPE_SMALLP: N_GETNUMBER(args[1], sblk, BAD_ARG); break;
case TYPE_FIXP: sblk = *(DWORD *)(Addr68k_from_LADDR(args[1])); break;
}
switch (GetTypeNumber(args[2])) {
case TYPE_SMALLP: N_GETNUMBER(args[2], eblk, BAD_ARG); break;
case TYPE_FIXP: eblk = *(DWORD *)(Addr68k_from_LADDR(args[2])); break;
}
return (CDplay(sblk, eblk));
BAD_ARG:
return (1);
}
int cd_q_read(LispPTR *args)
/*
args[0] function number
args[1] audio status
args[2] tune number
args[3] current position min
args[4] current position sec
args[5] current position frame
*/
{
BYTE ast, tno, mm, ss, ff;
int res;
res = CDqread(&ast, &tno, &mm, &ss, &ff);
if (!res) {
*(int *)(Addr68k_from_LADDR(args[1])) = (int)ast;
*(int *)(Addr68k_from_LADDR(args[2])) = (int)tno;
*(int *)(Addr68k_from_LADDR(args[3])) = (int)mm;
*(int *)(Addr68k_from_LADDR(args[4])) = (int)ss;
*(int *)(Addr68k_from_LADDR(args[5])) = (int)ff;
}
return (res);
}
int cd_pause(LispPTR *args)
/*
args[0] function number
*/
{
return (CDpause());
}
int cd_resume(LispPTR *args)
/*
args[0] function number
*/
{
return (CDresume());
}
int cd_volume(LispPTR *args)
/*
args[0] function number
args[1] right volume
args[2] left volume
*/
{
int right, left;
switch (GetTypeNumber(args[1])) {
case TYPE_SMALLP: N_GETNUMBER(args[1], right, BAD_ARG); break;
case TYPE_FIXP: right = *(DWORD *)(Addr68k_from_LADDR(args[1])); break;
}
switch (GetTypeNumber(args[2])) {
case TYPE_SMALLP: N_GETNUMBER(args[2], left, BAD_ARG); break;
case TYPE_FIXP: left = *(DWORD *)(Addr68k_from_LADDR(args[2])); break;
}
return (CDvolume(right, left));
BAD_ARG:
return (1);
}
int cd_eject(LispPTR *args)
/*
args[0] function number
*/
{
#ifdef DEBUG
printf("cd_eject called.\n");
#endif
return (CDeject());
}

View File

@ -1,216 +0,0 @@
/* $Id: cdrom.c,v 1.3 1999/05/31 23:35:26 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-95 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#include "version.h"
/***********************************
file: cdrom.c
***********************************/
#include <stdio.h>
#include <strings.h>
#include "lispemul.h"
#include "address.h"
#include "adr68k.h"
#include "lsptypes.h"
#include "lispmap.h"
#include "emlglob.h"
#include "lspglob.h"
#include "arith.h"
#include "cdrom.h"
int cdrom(LispPTR *args) {
int request;
int res;
N_GETNUMBER(args[0], request, BAD_ARG);
#ifdef DEBUG
printf("CD-ROM function called. function = %d\n", request);
#endif
switch (request) {
case CDROM_INIT_DRV: res = cdrom_init_drv(args); break;
case CDROM_KEN_INT: res = cdrom_ken_int(args); break;
case CDROM_CHOSAKU: res = cdrom_chosaku(args); break;
case CDROM_MIKANA: res = cdrom_mikana(args); break;
case CDROM_MIKANAT: res = cdrom_mikanat(args); break;
case CDROM_SYURYO: res = cdrom_syuryo(args); break;
default: return (NIL); break;
}
#ifdef DEBUG
printf("Result = %d\n", res);
#endif
if (res == 0) {
return (ATOM_T);
} else {
return (GetSmallp(res));
}
BAD_ARG:
return (NIL);
}
static int cdrom_init_drv(LispPTR *args)
/*
args[0] function number
args[1] pointer to buffer
args[2] device name
*/
{
int res;
char *buff;
char drive[80];
LispPTR *naddress;
char *base;
int offset;
if (GetTypeNumber(args[1]) == TYPE_ONED_ARRAY) {
naddress = (LispPTR *)(Addr68k_from_LADDR(args[1]));
base = (char *)(Addr68k_from_LADDR(((OneDArray *)naddress)->base));
offset = (int)(((OneDArray *)naddress)->offset);
buff = &base[offset];
} else
return (1);
LispStringToCString(args[2], drive, 80);
return (init_drv(buff, drive));
}
static int cdrom_ken_int(LispPTR *args)
/*
args[0] function number
args[1] shoseki number
args[2] flag for index and sort
*/
{
int bunno;
int flg;
N_GETNUMBER(args[1], bunno, BAD_ARG);
N_GETNUMBER(args[2], flg, BAD_ARG);
#ifdef DEBUG
printf("bunno = %x\n", bunno);
printf("flg = %d\n", flg);
#endif
return (ken_int(bunno, flg));
BAD_ARG:
return (1);
}
static int cdrom_chosaku(LispPTR *args)
/*
args[0] function number
args[1] buffer for copy right data
args[2] real data size
*/
{
char *buff;
int size;
int *data_size;
LispPTR *naddress;
char *base;
int offset;
if (GetTypeNumber(args[1]) == TYPE_ONED_ARRAY) {
naddress = (LispPTR *)(Addr68k_from_LADDR(args[1]));
base = (char *)(Addr68k_from_LADDR(((OneDArray *)naddress)->base));
offset = (int)(((OneDArray *)naddress)->offset);
buff = &base[offset];
} else
return (1);
size = (int)(((OneDArray *)naddress)->totalsize);
#ifdef DEBUG
printf("size = %d\n", size);
#endif
data_size = (int *)(Addr68k_from_LADDR(args[2]));
return (chosaku(buff, size, data_size));
}
static int cdrom_mikana(LispPTR *args)
/*
args[0] function number
args[1] relative id number
args[2] pointer to retrieve data
args[3] size of retrieve data
*/
{
int hyono;
char *buff;
int buff_size;
int *data_size;
LispPTR *naddress;
char *base;
int offset;
N_GETNUMBER(args[1], hyono, BAD_ARG);
if (GetTypeNumber(args[2]) == TYPE_ONED_ARRAY) {
naddress = (LispPTR *)(Addr68k_from_LADDR(args[2]));
base = (char *)(Addr68k_from_LADDR(((OneDArray *)naddress)->base));
offset = (int)(((OneDArray *)naddress)->offset);
buff = &base[offset];
} else
return (1);
buff_size = (int)(((OneDArray *)naddress)->totalsize);
data_size = (int *)(Addr68k_from_LADDR(args[3]));
return (mikana(hyono, buff, buff_size, data_size));
BAD_ARG:
return (1);
}
static int cdrom_mikanat(LispPTR *args)
/*
args[0] function number
args[1] pointer to a search key
args[2] pointer to buffer
args[3] size of searched data
args[4] number of items matched to the search key
*/
{
char key[65];
char *buff;
int buff_size;
int *data_size;
int *hitn;
LispPTR *naddress;
char *base;
int offset;
LispStringToCString2(args[1], key, 65);
if (GetTypeNumber(args[2]) == TYPE_ONED_ARRAY) {
naddress = (LispPTR *)(Addr68k_from_LADDR(args[2]));
base = (char *)(Addr68k_from_LADDR(((OneDArray *)naddress)->base));
offset = (int)(((OneDArray *)naddress)->offset);
buff = &base[offset];
} else
return (1);
buff_size = (((OneDArray *)naddress)->totalsize);
data_size = (int *)(Addr68k_from_LADDR(args[3]));
hitn = (int *)(Addr68k_from_LADDR(args[4]));
return (mikanat(key, buff, buff_size, data_size, hitn));
}
static int cdrom_syuryo(LispPTR *args)
/*
args[0] function number
*/
{
return (syuryo());
}

View File

@ -155,11 +155,6 @@ int OP_miscn(int misc_index, int arg_count) {
break;
#endif /* JLISP */
#ifdef CDROM
case miscn_CDAUDIO: result = cdaudio(args); break;
case miscn_CDROM: result = cdrom(args); break;
#endif /* CDROM */
case /* miscn_CALL_C*/ 014:
/* result = call_c_fn(args); */
result = 0;