VAX: Make line endings consistent with simh project
This commit is contained in:
parent
7455d28126
commit
eb8791c227
9 changed files with 13784 additions and 13784 deletions
3710
VAX/vax_gpx.c
3710
VAX/vax_gpx.c
File diff suppressed because it is too large
Load diff
398
VAX/vax_gpx.h
398
VAX/vax_gpx.h
|
@ -1,199 +1,199 @@
|
|||
/* vax_gpx.h: GPX video common components
|
||||
|
||||
Copyright (c) 2019, Matt Burke
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the author shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the author.
|
||||
*/
|
||||
|
||||
#ifndef VAX_GPX_H
|
||||
#define VAX_GPX_H 0
|
||||
|
||||
#include "vax_defs.h"
|
||||
|
||||
/* FIXME - Some or all of these should be dynamic */
|
||||
|
||||
#define VA_PLANES 4
|
||||
#define VA_BPP (1u << VA_PLANES)
|
||||
#define VA_PLANE_MASK (VA_BPP - 1)
|
||||
|
||||
#define VA_XSIZE 1024 /* visible width */
|
||||
#define VA_YSIZE 864 /* visible height */
|
||||
#define VA_BXSIZE 1024 /* video buffer width */
|
||||
#define VA_BYSIZE 2048 /* video buffer height */
|
||||
#define VA_BUFSIZE (1u << 21) /* video buffer size */
|
||||
#define VA_BUFMASK (VA_BUFSIZE - 1)
|
||||
|
||||
/* Address processor (Adder) registers */
|
||||
|
||||
#define ADP_ADCT 0x0 /* address counter */
|
||||
#define ADP_REQ 0x1 /* request enable */
|
||||
#define ADP_INT 0x2 /* interrupt enable */
|
||||
#define ADP_STAT 0x3 /* status */
|
||||
#define ADP_IDD 0x7 /* I/D data */
|
||||
#define ADP_CMD1 0x8 /* command */
|
||||
#define ADP_MDE 0x9 /* mode */
|
||||
#define ADP_CMD2 0xA /* command (alt) */
|
||||
#define ADP_IDS 0xC /* I/D scroll data */
|
||||
#define ADP_ICS 0xD /* I/D scroll command */
|
||||
#define ADP_PXMN 0xE /* scroll x min */
|
||||
#define ADP_PXMX 0xF /* scroll x max */
|
||||
#define ADP_PYMN 0x10 /* scroll y min */
|
||||
#define ADP_PYMX 0x11 /* scroll y max */
|
||||
#define ADP_PSE 0x12 /* pause */
|
||||
#define ADP_PYOF 0x13 /* y offset */
|
||||
#define ADP_PYSC 0x14 /* y scroll constant */
|
||||
#define ADP_PXI 0x15 /* pending x index */
|
||||
#define ADP_PYI 0x16 /* pending y index */
|
||||
#define ADP_NXI 0x17 /* new x index */
|
||||
#define ADP_NYI 0x18 /* new y index */
|
||||
#define ADP_OXI 0x19 /* old x index */
|
||||
#define ADP_OYI 0x1A /* old y index */
|
||||
#define ADP_CXMN 0x1B /* clip x min */
|
||||
#define ADP_CXMX 0x1C /* clip x max */
|
||||
#define ADP_CYMN 0x1D /* clip y min */
|
||||
#define ADP_CYMX 0x1E /* clip y max */
|
||||
#define ADP_FSDX 0x20 /* fast source 1 DX */
|
||||
#define ADP_SSDY 0x21 /* slow source 1 DY */
|
||||
#define ADP_SXO 0x22 /* source 1 X origin */
|
||||
#define ADP_SYO 0x23 /* source 1 Y origin */
|
||||
#define ADP_DXO 0x24 /* dest X origin */
|
||||
#define ADP_DYO 0x25 /* dest Y origin */
|
||||
#define ADP_FDX 0x26 /* fast dest DX */
|
||||
#define ADP_FDY 0x27 /* fast dest DY */
|
||||
#define ADP_SDX 0x28 /* slow dest DX */
|
||||
#define ADP_SDY 0x29 /* slow dest DY */
|
||||
#define ADP_FS 0x2A /* fast scale */
|
||||
#define ADP_SS 0x2B /* slow scale */
|
||||
#define ADP_S2XO 0x2C /* source 2 X origin */
|
||||
#define ADP_S2YO 0x2D /* source 2 Y origin */
|
||||
#define ADP_S2HW 0x2E /* source 2 height/width */
|
||||
#define ADP_ERR1 0x2F /* error 1 */
|
||||
#define ADP_ERR2 0x30 /* error 2 */
|
||||
#define ADP_YCT0 0x31 /* y scan count 0 */
|
||||
#define ADP_YCT1 0x32 /* y scan count 1 */
|
||||
#define ADP_YCT2 0x33 /* y scan count 2 */
|
||||
#define ADP_YCT3 0x34 /* y scan count 3 */
|
||||
#define ADP_XCON 0x35 /* x scan configuration */
|
||||
#define ADP_XL 0x36 /* x limit */
|
||||
#define ADP_YL 0x37 /* y limit */
|
||||
#define ADP_XCT0 0x38 /* x scan count 0 */
|
||||
#define ADP_XCT1 0x39 /* x scan count 1 */
|
||||
#define ADP_XCT2 0x3A /* x scan count 2 */
|
||||
#define ADP_XCT3 0x3B /* x scan count 3 */
|
||||
#define ADP_XCT4 0x3C /* x scan count 4 */
|
||||
#define ADP_XCT5 0x3D /* x scan count 5 */
|
||||
#define ADP_XCT6 0x3E /* x scan count 6 */
|
||||
#define ADP_SYNP 0x3F /* sync phase */
|
||||
#define ADP_MAXREG 0x3F
|
||||
#define ADP_NUMREG (ADP_MAXREG + 1)
|
||||
|
||||
/* Adder status register */
|
||||
|
||||
#define ADPSTAT_PC 0x0001 /* pause complete */
|
||||
#define ADPSTAT_SC 0x0002 /* scroll service */
|
||||
#define ADPSTAT_IC 0x0004 /* rasterop init complete */
|
||||
#define ADPSTAT_RC 0x0008 /* rasterop complete */
|
||||
#define ADPSTAT_AC 0x0010 /* address output complete */
|
||||
#define ADPSTAT_IRR 0x0020 /* I/D data rcv ready */
|
||||
#define ADPSTAT_ITR 0x0040 /* I/D data xmt ready */
|
||||
#define ADPSTAT_ISR 0x0080 /* I/D scroll data ready */
|
||||
#define ADPSTAT_CT 0x0100 /* rasterop clipped top */
|
||||
#define ADPSTAT_CB 0x0200 /* rasterop clipped bottom */
|
||||
#define ADPSTAT_CL 0x0400 /* rasterop clipped left */
|
||||
#define ADPSTAT_CR 0x0800 /* rasterop clipped right */
|
||||
#define ADPSTAT_CP (ADPSTAT_CT|ADPSTAT_CB|ADPSTAT_CL|ADPSTAT_CR)
|
||||
#define ADPSTAT_CN 0x1000 /* rasterop clipped none */
|
||||
#define ADPSTAT_VB 0x2000 /* vertical blanking */
|
||||
#define ADPSTAT_W0C 0x3F83
|
||||
|
||||
#define INT_ADP 0 /* Adder interrupt */
|
||||
|
||||
/* Video processor (Viper) registers */
|
||||
|
||||
#define VDP_RES 0x0 /* resolution mode */
|
||||
#define VDP_BW 0x1 /* bus width */
|
||||
#define VDP_SC 0x2 /* scroll constant */
|
||||
#define VDP_PA 0x3 /* plane address */
|
||||
#define VDP_FNC0 0x4 /* logic function 0 */
|
||||
#define VDP_FNC1 0x5 /* logic function 1 */
|
||||
#define VDP_FNC2 0x6 /* logic function 2 */
|
||||
#define VDP_FNC3 0x7 /* logic function 3 */
|
||||
#define VDP_MSK1 0x8 /* mask 1 */
|
||||
#define VDP_MSK2 0x9 /* mask 2 */
|
||||
#define VDP_SRC 0xA /* source */
|
||||
#define VDP_FILL 0xB /* fill */
|
||||
#define VDP_LSB 0xC /* left scroll boundary */
|
||||
#define VDP_RSB 0xD /* right scroll boundary */
|
||||
#define VDP_BG 0xE /* background colour */
|
||||
#define VDP_FG 0xF /* foreground colour */
|
||||
#define VDP_CSR0 0x10 /* CSR 0 */
|
||||
#define VDP_CSR1 0x11 /* CSR 1 */
|
||||
#define VDP_CSR2 0x12 /* CSR 2 */
|
||||
#define VDP_CSR4 0x14 /* CSR 4 */
|
||||
#define VDP_CSR5 0x15 /* CSR 5 */
|
||||
#define VDP_CSR6 0x16 /* CSR 6 */
|
||||
#define VDP_MAXREG 0x17
|
||||
|
||||
#define CMD u3
|
||||
|
||||
#define CMD_NOP 0 /* no operation */
|
||||
#define CMD_BTPX 1 /* bitmap to processor (x-mode) */
|
||||
#define CMD_BTPZ 2 /* bitmap to processor (z-mode) */
|
||||
#define CMD_PTBX 3 /* processor to bitmap (x-mode) */
|
||||
#define CMD_PTBZ 4 /* processor to bitmap (z-mode) */
|
||||
#define CMD_ROP 5 /* rasterop */
|
||||
#define CMD_ERASE 6 /* erase region */
|
||||
|
||||
/* Debugging Bitmaps */
|
||||
|
||||
#define DBG_REG 0x0100 /* register activity */
|
||||
#define DBG_FIFO 0x0200 /* fifo activity */
|
||||
#define DBG_ADP 0x0400 /* adder activity */
|
||||
#define DBG_VDP 0x0800 /* viper activity */
|
||||
#define DBG_ROP 0x1000 /* raster operations */
|
||||
|
||||
/* Internal functions/data - implemented by vax_gpx.c */
|
||||
|
||||
int32 va_adp_rd (int32 rg);
|
||||
void va_adp_wr (int32 rg, int32 val);
|
||||
t_stat va_adp_reset (DEVICE *dptr);
|
||||
t_stat va_adp_svc (UNIT *uptr);
|
||||
t_stat va_vdp_reset (DEVICE *dptr);
|
||||
|
||||
t_stat va_btp (UNIT *uptr, t_bool zmode);
|
||||
t_stat va_ptb (UNIT *uptr, t_bool zmode);
|
||||
void va_fifo_wr (uint32 val);
|
||||
uint32 va_fifo_rd (void);
|
||||
void va_adpstat (uint32 set, uint32 clr);
|
||||
|
||||
extern int32 va_adp[ADP_NUMREG]; /* Address processor registers */
|
||||
|
||||
/* External functions/data - implemented by machine specific device */
|
||||
|
||||
extern void va_setint (int32 src);
|
||||
extern void va_clrint (int32 src);
|
||||
|
||||
extern uint32 *va_buf; /* Video memory */
|
||||
extern t_bool va_updated[VA_BYSIZE];
|
||||
extern UNIT va_unit[];
|
||||
|
||||
#endif
|
||||
/* vax_gpx.h: GPX video common components
|
||||
|
||||
Copyright (c) 2019, Matt Burke
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the author shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the author.
|
||||
*/
|
||||
|
||||
#ifndef VAX_GPX_H
|
||||
#define VAX_GPX_H 0
|
||||
|
||||
#include "vax_defs.h"
|
||||
|
||||
/* FIXME - Some or all of these should be dynamic */
|
||||
|
||||
#define VA_PLANES 4
|
||||
#define VA_BPP (1u << VA_PLANES)
|
||||
#define VA_PLANE_MASK (VA_BPP - 1)
|
||||
|
||||
#define VA_XSIZE 1024 /* visible width */
|
||||
#define VA_YSIZE 864 /* visible height */
|
||||
#define VA_BXSIZE 1024 /* video buffer width */
|
||||
#define VA_BYSIZE 2048 /* video buffer height */
|
||||
#define VA_BUFSIZE (1u << 21) /* video buffer size */
|
||||
#define VA_BUFMASK (VA_BUFSIZE - 1)
|
||||
|
||||
/* Address processor (Adder) registers */
|
||||
|
||||
#define ADP_ADCT 0x0 /* address counter */
|
||||
#define ADP_REQ 0x1 /* request enable */
|
||||
#define ADP_INT 0x2 /* interrupt enable */
|
||||
#define ADP_STAT 0x3 /* status */
|
||||
#define ADP_IDD 0x7 /* I/D data */
|
||||
#define ADP_CMD1 0x8 /* command */
|
||||
#define ADP_MDE 0x9 /* mode */
|
||||
#define ADP_CMD2 0xA /* command (alt) */
|
||||
#define ADP_IDS 0xC /* I/D scroll data */
|
||||
#define ADP_ICS 0xD /* I/D scroll command */
|
||||
#define ADP_PXMN 0xE /* scroll x min */
|
||||
#define ADP_PXMX 0xF /* scroll x max */
|
||||
#define ADP_PYMN 0x10 /* scroll y min */
|
||||
#define ADP_PYMX 0x11 /* scroll y max */
|
||||
#define ADP_PSE 0x12 /* pause */
|
||||
#define ADP_PYOF 0x13 /* y offset */
|
||||
#define ADP_PYSC 0x14 /* y scroll constant */
|
||||
#define ADP_PXI 0x15 /* pending x index */
|
||||
#define ADP_PYI 0x16 /* pending y index */
|
||||
#define ADP_NXI 0x17 /* new x index */
|
||||
#define ADP_NYI 0x18 /* new y index */
|
||||
#define ADP_OXI 0x19 /* old x index */
|
||||
#define ADP_OYI 0x1A /* old y index */
|
||||
#define ADP_CXMN 0x1B /* clip x min */
|
||||
#define ADP_CXMX 0x1C /* clip x max */
|
||||
#define ADP_CYMN 0x1D /* clip y min */
|
||||
#define ADP_CYMX 0x1E /* clip y max */
|
||||
#define ADP_FSDX 0x20 /* fast source 1 DX */
|
||||
#define ADP_SSDY 0x21 /* slow source 1 DY */
|
||||
#define ADP_SXO 0x22 /* source 1 X origin */
|
||||
#define ADP_SYO 0x23 /* source 1 Y origin */
|
||||
#define ADP_DXO 0x24 /* dest X origin */
|
||||
#define ADP_DYO 0x25 /* dest Y origin */
|
||||
#define ADP_FDX 0x26 /* fast dest DX */
|
||||
#define ADP_FDY 0x27 /* fast dest DY */
|
||||
#define ADP_SDX 0x28 /* slow dest DX */
|
||||
#define ADP_SDY 0x29 /* slow dest DY */
|
||||
#define ADP_FS 0x2A /* fast scale */
|
||||
#define ADP_SS 0x2B /* slow scale */
|
||||
#define ADP_S2XO 0x2C /* source 2 X origin */
|
||||
#define ADP_S2YO 0x2D /* source 2 Y origin */
|
||||
#define ADP_S2HW 0x2E /* source 2 height/width */
|
||||
#define ADP_ERR1 0x2F /* error 1 */
|
||||
#define ADP_ERR2 0x30 /* error 2 */
|
||||
#define ADP_YCT0 0x31 /* y scan count 0 */
|
||||
#define ADP_YCT1 0x32 /* y scan count 1 */
|
||||
#define ADP_YCT2 0x33 /* y scan count 2 */
|
||||
#define ADP_YCT3 0x34 /* y scan count 3 */
|
||||
#define ADP_XCON 0x35 /* x scan configuration */
|
||||
#define ADP_XL 0x36 /* x limit */
|
||||
#define ADP_YL 0x37 /* y limit */
|
||||
#define ADP_XCT0 0x38 /* x scan count 0 */
|
||||
#define ADP_XCT1 0x39 /* x scan count 1 */
|
||||
#define ADP_XCT2 0x3A /* x scan count 2 */
|
||||
#define ADP_XCT3 0x3B /* x scan count 3 */
|
||||
#define ADP_XCT4 0x3C /* x scan count 4 */
|
||||
#define ADP_XCT5 0x3D /* x scan count 5 */
|
||||
#define ADP_XCT6 0x3E /* x scan count 6 */
|
||||
#define ADP_SYNP 0x3F /* sync phase */
|
||||
#define ADP_MAXREG 0x3F
|
||||
#define ADP_NUMREG (ADP_MAXREG + 1)
|
||||
|
||||
/* Adder status register */
|
||||
|
||||
#define ADPSTAT_PC 0x0001 /* pause complete */
|
||||
#define ADPSTAT_SC 0x0002 /* scroll service */
|
||||
#define ADPSTAT_IC 0x0004 /* rasterop init complete */
|
||||
#define ADPSTAT_RC 0x0008 /* rasterop complete */
|
||||
#define ADPSTAT_AC 0x0010 /* address output complete */
|
||||
#define ADPSTAT_IRR 0x0020 /* I/D data rcv ready */
|
||||
#define ADPSTAT_ITR 0x0040 /* I/D data xmt ready */
|
||||
#define ADPSTAT_ISR 0x0080 /* I/D scroll data ready */
|
||||
#define ADPSTAT_CT 0x0100 /* rasterop clipped top */
|
||||
#define ADPSTAT_CB 0x0200 /* rasterop clipped bottom */
|
||||
#define ADPSTAT_CL 0x0400 /* rasterop clipped left */
|
||||
#define ADPSTAT_CR 0x0800 /* rasterop clipped right */
|
||||
#define ADPSTAT_CP (ADPSTAT_CT|ADPSTAT_CB|ADPSTAT_CL|ADPSTAT_CR)
|
||||
#define ADPSTAT_CN 0x1000 /* rasterop clipped none */
|
||||
#define ADPSTAT_VB 0x2000 /* vertical blanking */
|
||||
#define ADPSTAT_W0C 0x3F83
|
||||
|
||||
#define INT_ADP 0 /* Adder interrupt */
|
||||
|
||||
/* Video processor (Viper) registers */
|
||||
|
||||
#define VDP_RES 0x0 /* resolution mode */
|
||||
#define VDP_BW 0x1 /* bus width */
|
||||
#define VDP_SC 0x2 /* scroll constant */
|
||||
#define VDP_PA 0x3 /* plane address */
|
||||
#define VDP_FNC0 0x4 /* logic function 0 */
|
||||
#define VDP_FNC1 0x5 /* logic function 1 */
|
||||
#define VDP_FNC2 0x6 /* logic function 2 */
|
||||
#define VDP_FNC3 0x7 /* logic function 3 */
|
||||
#define VDP_MSK1 0x8 /* mask 1 */
|
||||
#define VDP_MSK2 0x9 /* mask 2 */
|
||||
#define VDP_SRC 0xA /* source */
|
||||
#define VDP_FILL 0xB /* fill */
|
||||
#define VDP_LSB 0xC /* left scroll boundary */
|
||||
#define VDP_RSB 0xD /* right scroll boundary */
|
||||
#define VDP_BG 0xE /* background colour */
|
||||
#define VDP_FG 0xF /* foreground colour */
|
||||
#define VDP_CSR0 0x10 /* CSR 0 */
|
||||
#define VDP_CSR1 0x11 /* CSR 1 */
|
||||
#define VDP_CSR2 0x12 /* CSR 2 */
|
||||
#define VDP_CSR4 0x14 /* CSR 4 */
|
||||
#define VDP_CSR5 0x15 /* CSR 5 */
|
||||
#define VDP_CSR6 0x16 /* CSR 6 */
|
||||
#define VDP_MAXREG 0x17
|
||||
|
||||
#define CMD u3
|
||||
|
||||
#define CMD_NOP 0 /* no operation */
|
||||
#define CMD_BTPX 1 /* bitmap to processor (x-mode) */
|
||||
#define CMD_BTPZ 2 /* bitmap to processor (z-mode) */
|
||||
#define CMD_PTBX 3 /* processor to bitmap (x-mode) */
|
||||
#define CMD_PTBZ 4 /* processor to bitmap (z-mode) */
|
||||
#define CMD_ROP 5 /* rasterop */
|
||||
#define CMD_ERASE 6 /* erase region */
|
||||
|
||||
/* Debugging Bitmaps */
|
||||
|
||||
#define DBG_REG 0x0100 /* register activity */
|
||||
#define DBG_FIFO 0x0200 /* fifo activity */
|
||||
#define DBG_ADP 0x0400 /* adder activity */
|
||||
#define DBG_VDP 0x0800 /* viper activity */
|
||||
#define DBG_ROP 0x1000 /* raster operations */
|
||||
|
||||
/* Internal functions/data - implemented by vax_gpx.c */
|
||||
|
||||
int32 va_adp_rd (int32 rg);
|
||||
void va_adp_wr (int32 rg, int32 val);
|
||||
t_stat va_adp_reset (DEVICE *dptr);
|
||||
t_stat va_adp_svc (UNIT *uptr);
|
||||
t_stat va_vdp_reset (DEVICE *dptr);
|
||||
|
||||
t_stat va_btp (UNIT *uptr, t_bool zmode);
|
||||
t_stat va_ptb (UNIT *uptr, t_bool zmode);
|
||||
void va_fifo_wr (uint32 val);
|
||||
uint32 va_fifo_rd (void);
|
||||
void va_adpstat (uint32 set, uint32 clr);
|
||||
|
||||
extern int32 va_adp[ADP_NUMREG]; /* Address processor registers */
|
||||
|
||||
/* External functions/data - implemented by machine specific device */
|
||||
|
||||
extern void va_setint (int32 src);
|
||||
extern void va_clrint (int32 src);
|
||||
|
||||
extern uint32 *va_buf; /* Video memory */
|
||||
extern t_bool va_updated[VA_BYSIZE];
|
||||
extern UNIT va_unit[];
|
||||
|
||||
#endif
|
||||
|
|
2074
VAX/vax_ka610_bin.h
2074
VAX/vax_ka610_bin.h
File diff suppressed because it is too large
Load diff
8218
VAX/vax_ka620_bin.h
8218
VAX/vax_ka620_bin.h
File diff suppressed because it is too large
Load diff
8218
VAX/vax_ka630_bin.h
8218
VAX/vax_ka630_bin.h
File diff suppressed because it is too large
Load diff
304
VAX/vax_lk.h
304
VAX/vax_lk.h
|
@ -1,152 +1,152 @@
|
|||
/* vax_lk.h: DEC Keyboard (LK201)
|
||||
|
||||
Copyright (c) 2017, Matt Burke
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the author shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the author.
|
||||
|
||||
lk LK201 keyboard
|
||||
*/
|
||||
|
||||
#ifndef _VAX_LK_H_
|
||||
#define _VAX_LK_H_
|
||||
|
||||
#include "vax_defs.h"
|
||||
#include "sim_video.h"
|
||||
|
||||
/* standard key codes */
|
||||
|
||||
#define LK_UNKNOWN 0x00
|
||||
|
||||
#define LK_TR_0 0xEF
|
||||
#define LK_TR_1 0xC0
|
||||
#define LK_TR_2 0xC5
|
||||
#define LK_TR_3 0xCB
|
||||
#define LK_TR_4 0xD0
|
||||
#define LK_TR_5 0xD6
|
||||
#define LK_TR_6 0xDB
|
||||
#define LK_TR_7 0xE0
|
||||
#define LK_TR_8 0xE5
|
||||
#define LK_TR_9 0xEA
|
||||
#define LK_A 0xC2
|
||||
#define LK_B 0xD9
|
||||
#define LK_C 0xCE
|
||||
#define LK_D 0xCD
|
||||
#define LK_E 0xCC
|
||||
#define LK_F 0xD2
|
||||
#define LK_G 0xD8
|
||||
#define LK_H 0xDD
|
||||
#define LK_I 0xE6
|
||||
#define LK_J 0xE2
|
||||
#define LK_K 0xE7
|
||||
#define LK_L 0xEC
|
||||
#define LK_M 0xE3
|
||||
#define LK_N 0xDE
|
||||
#define LK_O 0xEB
|
||||
#define LK_P 0xF0
|
||||
#define LK_Q 0xC1
|
||||
#define LK_R 0xD1
|
||||
#define LK_S 0xC7
|
||||
#define LK_T 0xD7
|
||||
#define LK_U 0xE1
|
||||
#define LK_V 0xD3
|
||||
#define LK_W 0xC6
|
||||
#define LK_X 0xC8
|
||||
#define LK_Y 0xDC
|
||||
#define LK_Z 0xC3
|
||||
#define LK_SPACE 0xD4
|
||||
#define LK_SEMICOLON 0xF2
|
||||
#define LK_PLUS 0xF5
|
||||
#define LK_COMMA 0xE8
|
||||
#define LK_UBAR 0xF9
|
||||
#define LK_PERIOD 0xED
|
||||
#define LK_QMARK 0xF3
|
||||
#define LK_QUOTE 0xFB
|
||||
#define LK_LBRACE 0xFA
|
||||
#define LK_RBRACE 0xF6
|
||||
#define LK_VBAR 0xF7
|
||||
#define LK_TILDE 0xBF
|
||||
#define LK_KP_0 0x92
|
||||
#define LK_KP_1 0x96
|
||||
#define LK_KP_2 0x97
|
||||
#define LK_KP_3 0x98
|
||||
#define LK_KP_4 0x99
|
||||
#define LK_KP_5 0x9A
|
||||
#define LK_KP_6 0x9B
|
||||
#define LK_KP_7 0x9D
|
||||
#define LK_KP_8 0x9E
|
||||
#define LK_KP_9 0x9F
|
||||
#define LK_KP_PF1 0xA1
|
||||
#define LK_KP_PF2 0xA2
|
||||
#define LK_KP_PF3 0xA3
|
||||
#define LK_KP_PF4 0xA4
|
||||
#define LK_KP_HYPHEN 0xA0
|
||||
#define LK_KP_COMMA 0x9C
|
||||
#define LK_KP_PERIOD 0x94
|
||||
#define LK_KP_ENTER 0x95
|
||||
#define LK_DELETE 0xBC
|
||||
#define LK_TAB 0xBE
|
||||
#define LK_RETURN 0xBD
|
||||
#define LK_META 0xB1
|
||||
#define LK_LOCK 0xB0
|
||||
#define LK_SHIFT 0xAE
|
||||
#define LK_CTRL 0xAF
|
||||
#define LK_LEFT 0xA7
|
||||
#define LK_RIGHT 0xA8
|
||||
#define LK_UP 0xAA
|
||||
#define LK_DOWN 0xA9
|
||||
#define LK_REMOVE 0x8C
|
||||
#define LK_NEXT_SCREEN 0x8F
|
||||
#define LK_PREV_SCREEN 0x8E
|
||||
#define LK_INSERT_HERE 0x8B
|
||||
#define LK_FIND 0x8A
|
||||
#define LK_SELECT 0x8D
|
||||
#define LK_F1 0x56
|
||||
#define LK_F2 0x57
|
||||
#define LK_F3 0x58
|
||||
#define LK_F4 0x59
|
||||
#define LK_F5 0x5A
|
||||
#define LK_F6 0x64
|
||||
#define LK_F7 0x65
|
||||
#define LK_F8 0x66
|
||||
#define LK_F9 0x67
|
||||
#define LK_F10 0x68
|
||||
#define LK_F11 0x71
|
||||
#define LK_F12 0x72
|
||||
|
||||
/* special codes */
|
||||
|
||||
#define LK_ALLUP 0xB3 /* all up */
|
||||
#define LK_METRONOME 0xB4 /* metronome code */
|
||||
#define LK_OUTERR 0xB5 /* output error */
|
||||
#define LK_INERR 0xB6 /* input error */
|
||||
#define LK_LOCKACK 0xB7 /* kbd locked ack */
|
||||
#define LK_TESTACK 0xB8 /* test mode ack */
|
||||
#define LK_PREDOWN 0xB9 /* prefix to keys down */
|
||||
#define LK_MODEACK 0xBA /* mode change ack */
|
||||
|
||||
/* interface functions */
|
||||
|
||||
t_stat lk_wr (uint8 c);
|
||||
t_stat lk_rd (uint8 *c);
|
||||
void lk_event (SIM_KEY_EVENT *ev);
|
||||
|
||||
#endif
|
||||
/* vax_lk.h: DEC Keyboard (LK201)
|
||||
|
||||
Copyright (c) 2017, Matt Burke
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the author shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the author.
|
||||
|
||||
lk LK201 keyboard
|
||||
*/
|
||||
|
||||
#ifndef _VAX_LK_H_
|
||||
#define _VAX_LK_H_
|
||||
|
||||
#include "vax_defs.h"
|
||||
#include "sim_video.h"
|
||||
|
||||
/* standard key codes */
|
||||
|
||||
#define LK_UNKNOWN 0x00
|
||||
|
||||
#define LK_TR_0 0xEF
|
||||
#define LK_TR_1 0xC0
|
||||
#define LK_TR_2 0xC5
|
||||
#define LK_TR_3 0xCB
|
||||
#define LK_TR_4 0xD0
|
||||
#define LK_TR_5 0xD6
|
||||
#define LK_TR_6 0xDB
|
||||
#define LK_TR_7 0xE0
|
||||
#define LK_TR_8 0xE5
|
||||
#define LK_TR_9 0xEA
|
||||
#define LK_A 0xC2
|
||||
#define LK_B 0xD9
|
||||
#define LK_C 0xCE
|
||||
#define LK_D 0xCD
|
||||
#define LK_E 0xCC
|
||||
#define LK_F 0xD2
|
||||
#define LK_G 0xD8
|
||||
#define LK_H 0xDD
|
||||
#define LK_I 0xE6
|
||||
#define LK_J 0xE2
|
||||
#define LK_K 0xE7
|
||||
#define LK_L 0xEC
|
||||
#define LK_M 0xE3
|
||||
#define LK_N 0xDE
|
||||
#define LK_O 0xEB
|
||||
#define LK_P 0xF0
|
||||
#define LK_Q 0xC1
|
||||
#define LK_R 0xD1
|
||||
#define LK_S 0xC7
|
||||
#define LK_T 0xD7
|
||||
#define LK_U 0xE1
|
||||
#define LK_V 0xD3
|
||||
#define LK_W 0xC6
|
||||
#define LK_X 0xC8
|
||||
#define LK_Y 0xDC
|
||||
#define LK_Z 0xC3
|
||||
#define LK_SPACE 0xD4
|
||||
#define LK_SEMICOLON 0xF2
|
||||
#define LK_PLUS 0xF5
|
||||
#define LK_COMMA 0xE8
|
||||
#define LK_UBAR 0xF9
|
||||
#define LK_PERIOD 0xED
|
||||
#define LK_QMARK 0xF3
|
||||
#define LK_QUOTE 0xFB
|
||||
#define LK_LBRACE 0xFA
|
||||
#define LK_RBRACE 0xF6
|
||||
#define LK_VBAR 0xF7
|
||||
#define LK_TILDE 0xBF
|
||||
#define LK_KP_0 0x92
|
||||
#define LK_KP_1 0x96
|
||||
#define LK_KP_2 0x97
|
||||
#define LK_KP_3 0x98
|
||||
#define LK_KP_4 0x99
|
||||
#define LK_KP_5 0x9A
|
||||
#define LK_KP_6 0x9B
|
||||
#define LK_KP_7 0x9D
|
||||
#define LK_KP_8 0x9E
|
||||
#define LK_KP_9 0x9F
|
||||
#define LK_KP_PF1 0xA1
|
||||
#define LK_KP_PF2 0xA2
|
||||
#define LK_KP_PF3 0xA3
|
||||
#define LK_KP_PF4 0xA4
|
||||
#define LK_KP_HYPHEN 0xA0
|
||||
#define LK_KP_COMMA 0x9C
|
||||
#define LK_KP_PERIOD 0x94
|
||||
#define LK_KP_ENTER 0x95
|
||||
#define LK_DELETE 0xBC
|
||||
#define LK_TAB 0xBE
|
||||
#define LK_RETURN 0xBD
|
||||
#define LK_META 0xB1
|
||||
#define LK_LOCK 0xB0
|
||||
#define LK_SHIFT 0xAE
|
||||
#define LK_CTRL 0xAF
|
||||
#define LK_LEFT 0xA7
|
||||
#define LK_RIGHT 0xA8
|
||||
#define LK_UP 0xAA
|
||||
#define LK_DOWN 0xA9
|
||||
#define LK_REMOVE 0x8C
|
||||
#define LK_NEXT_SCREEN 0x8F
|
||||
#define LK_PREV_SCREEN 0x8E
|
||||
#define LK_INSERT_HERE 0x8B
|
||||
#define LK_FIND 0x8A
|
||||
#define LK_SELECT 0x8D
|
||||
#define LK_F1 0x56
|
||||
#define LK_F2 0x57
|
||||
#define LK_F3 0x58
|
||||
#define LK_F4 0x59
|
||||
#define LK_F5 0x5A
|
||||
#define LK_F6 0x64
|
||||
#define LK_F7 0x65
|
||||
#define LK_F8 0x66
|
||||
#define LK_F9 0x67
|
||||
#define LK_F10 0x68
|
||||
#define LK_F11 0x71
|
||||
#define LK_F12 0x72
|
||||
|
||||
/* special codes */
|
||||
|
||||
#define LK_ALLUP 0xB3 /* all up */
|
||||
#define LK_METRONOME 0xB4 /* metronome code */
|
||||
#define LK_OUTERR 0xB5 /* output error */
|
||||
#define LK_INERR 0xB6 /* input error */
|
||||
#define LK_LOCKACK 0xB7 /* kbd locked ack */
|
||||
#define LK_TESTACK 0xB8 /* test mode ack */
|
||||
#define LK_PREDOWN 0xB9 /* prefix to keys down */
|
||||
#define LK_MODEACK 0xBA /* mode change ack */
|
||||
|
||||
/* interface functions */
|
||||
|
||||
t_stat lk_wr (uint8 c);
|
||||
t_stat lk_rd (uint8 *c);
|
||||
void lk_event (SIM_KEY_EVENT *ev);
|
||||
|
||||
#endif
|
||||
|
|
2456
VAX/vax_va.c
2456
VAX/vax_va.c
File diff suppressed because it is too large
Load diff
2074
VAX/vax_vcb02_bin.h
2074
VAX/vax_vcb02_bin.h
File diff suppressed because it is too large
Load diff
116
VAX/vax_vs.h
116
VAX/vax_vs.h
|
@ -1,58 +1,58 @@
|
|||
/* vax_vs.h: DEC Mouse/Tablet (VSXXX)
|
||||
|
||||
Copyright (c) 2017, Matt Burke
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the author shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the author.
|
||||
|
||||
vs VSXXX-nn pointing device
|
||||
*/
|
||||
|
||||
#ifndef _VAX_VS_H_
|
||||
#define _VAX_VS_H_
|
||||
|
||||
#include "vax_defs.h"
|
||||
#include "sim_video.h"
|
||||
|
||||
/* command definitions */
|
||||
|
||||
#define VS_INCR 0x52 /* set mode incremental */
|
||||
#define VS_PROMPT 0x44 /* set mode prompt */
|
||||
#define VS_POLL 0x50 /* poll */
|
||||
#define VS_TEST 0x54 /* test */
|
||||
|
||||
/* Report bit definitions */
|
||||
|
||||
#define RPT_SYNC 0x80 /* synchronise */
|
||||
#define RPT_TABP 0x40 /* tablet position */
|
||||
#define RPT_TEST 0x20 /* self test */
|
||||
#define RPT_TAB 0x4 /* tablet device */
|
||||
#define RPT_MOU 0x2 /* mouse device */
|
||||
#define RPT_V_MFR 4 /* manufacturer location ID */
|
||||
#define RPT_REV 0xF /* revision number */
|
||||
#define RPT_BC 0x7 /* button code */
|
||||
#define RPT_EC 0x7F /* error code */
|
||||
|
||||
t_stat vs_wr (uint8 c);
|
||||
t_stat vs_rd (uint8 *c);
|
||||
void vs_event (SIM_MOUSE_EVENT *ev);
|
||||
|
||||
#endif
|
||||
/* vax_vs.h: DEC Mouse/Tablet (VSXXX)
|
||||
|
||||
Copyright (c) 2017, Matt Burke
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the author shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the author.
|
||||
|
||||
vs VSXXX-nn pointing device
|
||||
*/
|
||||
|
||||
#ifndef _VAX_VS_H_
|
||||
#define _VAX_VS_H_
|
||||
|
||||
#include "vax_defs.h"
|
||||
#include "sim_video.h"
|
||||
|
||||
/* command definitions */
|
||||
|
||||
#define VS_INCR 0x52 /* set mode incremental */
|
||||
#define VS_PROMPT 0x44 /* set mode prompt */
|
||||
#define VS_POLL 0x50 /* poll */
|
||||
#define VS_TEST 0x54 /* test */
|
||||
|
||||
/* Report bit definitions */
|
||||
|
||||
#define RPT_SYNC 0x80 /* synchronise */
|
||||
#define RPT_TABP 0x40 /* tablet position */
|
||||
#define RPT_TEST 0x20 /* self test */
|
||||
#define RPT_TAB 0x4 /* tablet device */
|
||||
#define RPT_MOU 0x2 /* mouse device */
|
||||
#define RPT_V_MFR 4 /* manufacturer location ID */
|
||||
#define RPT_REV 0xF /* revision number */
|
||||
#define RPT_BC 0x7 /* button code */
|
||||
#define RPT_EC 0x7F /* error code */
|
||||
|
||||
t_stat vs_wr (uint8 c);
|
||||
t_stat vs_rd (uint8 *c);
|
||||
void vs_event (SIM_MOUSE_EVENT *ev);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue