Merge remote-tracking branch 'origin/master' into Operator-Commands

This commit is contained in:
Mark Pizzolato 2013-04-19 14:23:00 -07:00
commit 99c13051e6
94 changed files with 2165 additions and 1737 deletions

2
.gitattributes vendored
View file

@ -3,3 +3,5 @@
*.vcproj binary *.vcproj binary
*.exe binary *.exe binary
*.bin binary *.bin binary
sim_rev.h export-subst

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
/* altairz80_cpu_opt.c: MITS Altair CPU (8080 and Z80) /* altairz80_cpu_opt.c: MITS Altair CPU (8080 and Z80)
Copyright (c) 2002-2011, Peter Schorn Copyright (c) 2002-2013, Peter Schorn
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),

View file

@ -1,6 +1,6 @@
/* altairz80_defs.h: MITS Altair simulator definitions /* altairz80_defs.h: MITS Altair simulator definitions
Copyright (c) 2002-2011, Peter Schorn Copyright (c) 2002-2013, Peter Schorn
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),

Binary file not shown.

View file

@ -1,6 +1,6 @@
/* altairz80_dsk.c: MITS Altair 88-DISK Simulator /* altairz80_dsk.c: MITS Altair 88-DISK Simulator
Copyright (c) 2002-2011, Peter Schorn Copyright (c) 2002-2013, Peter Schorn
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),
@ -483,6 +483,7 @@ int32 dsk11(const int32 port, const int32 io, const int32 data) {
current_disk, PCX); current_disk, PCX);
} }
current_track[current_disk]++; current_track[current_disk]++;
current_flag[current_disk] &= 0xbf; /* mwd 1/29/13: track zero now false */
if (current_track[current_disk] > (tracks[current_disk] - 1)) if (current_track[current_disk] > (tracks[current_disk] - 1))
current_track[current_disk] = (tracks[current_disk] - 1); current_track[current_disk] = (tracks[current_disk] - 1);
if (dirty) /* implies that current_disk < NUM_OF_DSK */ if (dirty) /* implies that current_disk < NUM_OF_DSK */

View file

@ -1,6 +1,6 @@
/* altairz80_hdsk.c: simulated hard disk device to increase capacity /* altairz80_hdsk.c: simulated hard disk device to increase capacity
Copyright (c) 2002-2011, Peter Schorn Copyright (c) 2002-2013, Peter Schorn
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),
@ -28,6 +28,7 @@
#include "altairz80_defs.h" #include "altairz80_defs.h"
#include <assert.h> #include <assert.h>
#include "sim_imd.h"
/* Debug flags */ /* Debug flags */
#define READ_MSG (1 << 0) #define READ_MSG (1 << 0)
@ -43,6 +44,9 @@ static t_stat show_format(FILE *st, UNIT *uptr, int32 val, void *desc);
static t_stat hdsk_reset(DEVICE *dptr); static t_stat hdsk_reset(DEVICE *dptr);
static t_stat hdsk_attach(UNIT *uptr, char *cptr); static t_stat hdsk_attach(UNIT *uptr, char *cptr);
static t_stat hdsk_detach(UNIT *uptr); static t_stat hdsk_detach(UNIT *uptr);
static uint32 is_imd(const UNIT *uptr);
static void assignFormat(UNIT *uptr);
static void verifyDiskInfo(const DISK_INFO info, const char unitChar);
#define UNIT_V_HDSK_WLK (UNIT_V_UF + 0) /* write locked */ #define UNIT_V_HDSK_WLK (UNIT_V_UF + 0) /* write locked */
#define UNIT_HDSK_WLK (1 << UNIT_V_HDSK_WLK) #define UNIT_HDSK_WLK (1 << UNIT_V_HDSK_WLK)
@ -118,6 +122,7 @@ typedef struct {
#define SPT16 16 #define SPT16 16
#define SPT32 32 #define SPT32 32
#define SPT26 26 #define SPT26 26
#define SPT52 52
static HDSK_INFO hdsk_info_data = { { 0x0000, 0, 0xFD, 1 } }; static HDSK_INFO hdsk_info_data = { { 0x0000, 0, 0xFD, 1 } };
@ -126,18 +131,18 @@ static int32 standard8[SPT26] = { 0, 6, 12, 18, 24, 4, 10, 16,
19, 25, 5, 11, 17, 23, 3, 9, 19, 25, 5, 11, 17, 23, 3, 9,
15, 21 }; 15, 21 };
static int32 appple_ii_DOS[SPT16] = { 0, 6, 12, 3, 9, 15, 14, 5, static int32 apple_ii_DOS[SPT16] = { 0, 6, 12, 3, 9, 15, 14, 5,
11, 2, 8, 7, 13, 4, 10, 1 }; 11, 2, 8, 7, 13, 4, 10, 1 };
static int32 appple_ii_DOS2[SPT32] = { 0, 1, 12, 13, 24, 25, 6, 7, static int32 apple_ii_DOS2[SPT32] = { 0, 1, 12, 13, 24, 25, 6, 7,
18, 19, 30, 31, 28, 29, 10, 11, 18, 19, 30, 31, 28, 29, 10, 11,
22, 23, 4, 5, 16, 17, 14, 15, 22, 23, 4, 5, 16, 17, 14, 15,
26, 27, 8, 9, 20, 21, 2, 3 }; 26, 27, 8, 9, 20, 21, 2, 3 };
static int32 appple_ii_PRODOS[SPT16] = { 0, 9, 3, 12, 6, 15, 1, 10, static int32 apple_ii_PRODOS[SPT16] = { 0, 9, 3, 12, 6, 15, 1, 10,
4, 13, 7, 8, 2, 11, 5, 14 }; 4, 13, 7, 8, 2, 11, 5, 14 };
static int32 appple_ii_PRODOS2[SPT32] = { 0, 1, 18, 19, 6, 7, 24, 25, static int32 apple_ii_PRODOS2[SPT32] = { 0, 1, 18, 19, 6, 7, 24, 25,
12, 13, 30, 31, 2, 3, 20, 21, 12, 13, 30, 31, 2, 3, 20, 21,
8, 9, 26, 27, 14, 15, 16, 17, 8, 9, 26, 27, 14, 15, 16, 17,
4, 5, 22, 23, 10, 11, 28, 29 }; 4, 5, 22, 23, 10, 11, 28, 29 };
@ -197,17 +202,44 @@ static DPB dpb[] = {
{ "SSSD8S", 256256, SPT26, 0x03, 0x07, 0x00, 242, 0x003F, { "SSSD8S", 256256, SPT26, 0x03, 0x07, 0x00, 242, 0x003F,
0xC0, 0x00, 0x0000, 0x0002, 0x00, 0x00, 0, 0, standard8 }, /* Standard 8" SS SD with skew */ 0xC0, 0x00, 0x0000, 0x0002, 0x00, 0x00, 0, 0, standard8 }, /* Standard 8" SS SD with skew */
{ "SSDD8", 512512, SPT52, 0x04, 0x0F, 0x01, 242, 0x007F,
0xC0, 0x00, 0x0000, 0x0002, 0x01, 0x01, 0, 0, NULL }, /* Standard 8" SS DD */
{ "SSDD8S", 512512, SPT52, 0x04, 0x0F, 0x01, 242, 0x007F,
0xC0, 0x00, 0x0000, 0x0002, 0x01, 0x01, 0, 0, standard8 }, /* Standard 8" SS DD with skew */
{ "DSDD8", 1025024, SPT52, 0x04, 0x0F, 0x00, 493, 0x007F,
0xC0, 0x00, 0x0000, 0x0002, 0x01, 0x01, 0, 0, NULL }, /* Standard 8" DS DD */
{ "DSDD8S", 1025024, SPT52, 0x04, 0x0F, 0x00, 493, 0x007F,
0xC0, 0x00, 0x0000, 0x0002, 0x01, 0x01, 0, 0, NULL }, /* Standard 8" DS DD with skew */
{"512SSDD8",591360, 60, 0x04, 0x0F, 0x00, 280, 0x007F,
0xC0, 0x00, 0x0000, 0x0002, 0x02, 0x03, 0, 0, NULL }, /* Standard 8" SS DD with 512 byte sectors */
{"512DSDD8",1182720, 60, 0x04, 0x0F, 0x00, 569, 0x007F,
0xC0, 0x00, 0x0000, 0x0002, 0x02, 0x03, 0, 0, NULL }, /* Standard 8" DS DD with 512 byte sectors */
#if 0
/* CP/M 3 BIOS currently does not support physical sector size 1024 */
{"1024SSDD8",630784, 64, 0x04, 0x0F, 0x00, 299, 0x007F,
0xC0, 0x00, 0x0000, 0x0002, 0x03, 0x07, 0, 0, NULL }, /* Standard 8" SS DD with 1024 byte sectors */
{"1024DSDD8",1261568, 64, 0x04, 0x0F, 0x00, 607, 0x007F,
0xC0, 0x00, 0x0000, 0x0002, 0x03, 0x07, 0, 0, NULL }, /* Standard 8" DS DD with 1024 byte sectors */
#endif
{ "APPLE-DO",143360, SPT32, 0x03, 0x07, 0x00, 127, 0x003F, { "APPLE-DO",143360, SPT32, 0x03, 0x07, 0x00, 127, 0x003F,
0xC0, 0x00, 0x0000, 0x0003, 0x01, 0x01, 0, 0, appple_ii_DOS }, /* Apple II DOS 3.3 */ 0xC0, 0x00, 0x0000, 0x0003, 0x01, 0x01, 0, 0, apple_ii_DOS }, /* Apple II DOS 3.3 */
{ "APPLE-PO",143360, SPT32, 0x03, 0x07, 0x00, 127, 0x003F, { "APPLE-PO",143360, SPT32, 0x03, 0x07, 0x00, 127, 0x003F,
0xC0, 0x00, 0x0000, 0x0003, 0x01, 0x01, 0, 0, appple_ii_PRODOS }, /* Apple II PRODOS */ 0xC0, 0x00, 0x0000, 0x0003, 0x01, 0x01, 0, 0, apple_ii_PRODOS }, /* Apple II PRODOS */
{ "APPLE-D2",143360, SPT32, 0x03, 0x07, 0x00, 127, 0x003F, { "APPLE-D2",143360, SPT32, 0x03, 0x07, 0x00, 127, 0x003F,
0xC0, 0x00, 0x0000, 0x0003, 0x00, 0x00, 0, 0, appple_ii_DOS2 }, /* Apple II DOS 3.3, deblocked */ 0xC0, 0x00, 0x0000, 0x0003, 0x00, 0x00, 0, 0, apple_ii_DOS2 }, /* Apple II DOS 3.3, deblocked */
{ "APPLE-P2",143360, SPT32, 0x03, 0x07, 0x00, 127, 0x003F, { "APPLE-P2",143360, SPT32, 0x03, 0x07, 0x00, 127, 0x003F,
0xC0, 0x00, 0x0000, 0x0003, 0x00, 0x00, 0, 0, appple_ii_PRODOS2 }, /* Apple II PRODOS, deblocked */ 0xC0, 0x00, 0x0000, 0x0003, 0x00, 0x00, 0, 0, apple_ii_PRODOS2 }, /* Apple II PRODOS, deblocked */
{ "MITS", 337568, SPT32, 0x03, 0x07, 0x00, 254, 0x00FF, { "MITS", 337568, SPT32, 0x03, 0x07, 0x00, 254, 0x00FF,
0xFF, 0x00, 0x0000, 0x0006, 0x00, 0x00, 137, 3, mits }, /* MITS Altair original */ 0xFF, 0x00, 0x0000, 0x0006, 0x00, 0x00, 137, 3, mits }, /* MITS Altair original */
@ -215,6 +247,20 @@ static DPB dpb[] = {
{ "MITS2", 1113536, SPT32, 0x04, 0x0F, 0x00, 0x1EF, 0x00FF, { "MITS2", 1113536, SPT32, 0x04, 0x0F, 0x00, 0x1EF, 0x00FF,
0xF0, 0x00, 0x0000, 0x0006, 0x00, 0x00, 137, 3, mits }, /* MITS Altair original, extra */ 0xF0, 0x00, 0x0000, 0x0006, 0x00, 0x00, 137, 3, mits }, /* MITS Altair original, extra */
/*
dw 40 ;#128 byte records/track
db 4,0fh ;block shift mask (2K)
db 1 ;extent mask
dw 194 ;maximun block number
dw 127 ;max number of dir entry - 1
db 0C0H,00h ;alloc vector for directory
dw 0020h ;checksum size
dw 2 ;offset for sys tracks
db 2,3 ;physical sector shift (512 sector)
*/
{ "V1050", 409600, 40, 0x04, 0x0F, 0x01, 194, 0x007F,
0xC0, 0x00, 0x0000, 0x0002, 0x02, 0x03, 0, 0, NULL }, /* Visual Technology Visual 1050, http://www.metabarn.com/v1050/index.html */
{ "", 0 } { "", 0 }
}; };
@ -228,6 +274,7 @@ static UNIT hdsk_unit[] = {
{ UDATA (NULL, UNIT_FIX + UNIT_ATTABLE + UNIT_DISABLE + UNIT_ROABLE, HDSK_CAPACITY) }, { UDATA (NULL, UNIT_FIX + UNIT_ATTABLE + UNIT_DISABLE + UNIT_ROABLE, HDSK_CAPACITY) },
{ UDATA (NULL, UNIT_FIX + UNIT_ATTABLE + UNIT_DISABLE + UNIT_ROABLE, HDSK_CAPACITY) } { UDATA (NULL, UNIT_FIX + UNIT_ATTABLE + UNIT_DISABLE + UNIT_ROABLE, HDSK_CAPACITY) }
}; };
static DISK_INFO* hdsk_imd[HDSK_NUMBER];
static REG hdsk_reg[] = { static REG hdsk_reg[] = {
{ DRDATA (HDCMD, hdskLastCommand, 32), REG_RO }, { DRDATA (HDCMD, hdskLastCommand, 32), REG_RO },
@ -281,27 +328,16 @@ static t_stat hdsk_reset(DEVICE *dptr) {
return SCPE_OK; return SCPE_OK;
} }
/* Attach routine */ #ifdef _WIN32
static t_stat hdsk_attach(UNIT *uptr, char *cptr) { #define strcasecmp _stricmp
t_stat r; #endif
static uint32 is_imd(const UNIT *uptr) {
return ((uptr != NULL) && (uptr -> filename != NULL) && (strlen(uptr -> filename) > 3) &&
(strcasecmp(".IMD", uptr -> filename + strlen(uptr -> filename) - 4) == 0));
}
static void assignFormat(UNIT *uptr) {
uint32 i; uint32 i;
char unitChar;
r = attach_unit(uptr, cptr); /* attach unit */
if ( r != SCPE_OK) /* error? */
return r;
/* Step 1: Determine capacity of this disk */
uptr -> capac = sim_fsize(uptr -> fileref); /* the file length is a good indication */
if (uptr -> capac == 0) { /* file does not exist or has length 0 */
uptr -> capac = uptr -> HDSK_NUMBER_OF_TRACKS *
uptr -> HDSK_SECTORS_PER_TRACK * uptr -> HDSK_SECTOR_SIZE;
if (uptr -> capac == 0)
uptr -> capac = HDSK_CAPACITY;
} /* post condition: uptr -> capac > 0 */
assert(uptr -> capac);
/* Step 2: Determine format based on disk capacity */
uptr -> HDSK_FORMAT_TYPE = -1; /* default to unknown format type */ uptr -> HDSK_FORMAT_TYPE = -1; /* default to unknown format type */
for (i = 0; dpb[i].capac != 0; i++) { /* find disk parameter block */ for (i = 0; dpb[i].capac != 0; i++) { /* find disk parameter block */
if (dpb[i].capac == uptr -> capac) { /* found if correct capacity */ if (dpb[i].capac == uptr -> capac) { /* found if correct capacity */
@ -309,13 +345,89 @@ static t_stat hdsk_attach(UNIT *uptr, char *cptr) {
break; break;
} }
} }
}
static void verifyDiskInfo(const DISK_INFO info, const char unitChar) {
uint32 track, head;
if (info.ntracks < 1)
printf("HDSK%c (IMD): WARNING: Number of tracks is 0.\n", unitChar);
if (info.nsides < 1) {
printf("HDSK%c (IMD): WARNING: Number of sides is 0.\n", unitChar);
return;
}
for (track = 0; track < info.ntracks / info.nsides; track++)
for (head = 0; head < info.nsides; head++) {
if (info.track[track][head].nsects != info.track[1][0].nsects)
printf("HDSK%c (IMD): WARNING: For track %i and head %i expected number of sectors "
"%i but got %i.\n", unitChar, track, head,
info.track[1][0].nsects, info.track[track][head].nsects);
if (info.track[track][head].sectsize != info.track[1][0].sectsize)
printf("HDSK%c (IMD): WARNING: For track %i and head %i expected sector size "
"%i but got %i.\n", unitChar, track, head,
info.track[1][0].sectsize, info.track[track][head].sectsize);
if (info.track[track][head].start_sector != info.track[1][0].start_sector)
printf("HDSK%c (IMD): WARNING: For track %i and head %i expected start sector "
"%i but got %i.\n", unitChar, track, head,
info.track[1][0].start_sector, info.track[track][head].start_sector);
}
}
/* Attach routine */
static t_stat hdsk_attach(UNIT *uptr, char *cptr) {
int32 thisUnitIndex;
char unitChar;
const t_stat r = attach_unit(uptr, cptr); /* attach unit */
if (r != SCPE_OK) /* error? */
return r;
assert(uptr != NULL);
thisUnitIndex = find_unit_index(uptr);
unitChar = '0' + thisUnitIndex;
assert((0 <= thisUnitIndex) && (thisUnitIndex < HDSK_NUMBER));
if (is_imd(uptr)) {
if ((sim_fsize(uptr -> fileref) == 0) &&
(diskCreate(uptr -> fileref, "$Id: SIMH hdsk.c $") != SCPE_OK)) {
printf("HDSK%c (IMD): Failed to create IMD disk.\n", unitChar);
detach_unit(uptr);
return SCPE_OPENERR;
}
hdsk_imd[thisUnitIndex] = diskOpen(uptr -> fileref, sim_deb && (hdsk_dev.dctrl & VERBOSE_MSG));
if (hdsk_imd[thisUnitIndex] == NULL)
return SCPE_IOERR;
verifyDiskInfo(*hdsk_imd[thisUnitIndex], '0' + thisUnitIndex);
uptr -> HDSK_NUMBER_OF_TRACKS = hdsk_imd[thisUnitIndex] -> ntracks;
uptr -> HDSK_SECTORS_PER_TRACK = hdsk_imd[thisUnitIndex] -> track[1][0].nsects;
uptr -> HDSK_SECTOR_SIZE = hdsk_imd[thisUnitIndex] -> track[1][0].sectsize;
uptr -> capac = ((uptr -> HDSK_NUMBER_OF_TRACKS) *
(uptr -> HDSK_SECTORS_PER_TRACK) *
(uptr -> HDSK_SECTOR_SIZE));
assignFormat(uptr);
if (uptr -> HDSK_FORMAT_TYPE == -1) { /* Case 1: no disk parameter block found*/
uptr -> HDSK_FORMAT_TYPE = 0;
printf("HDSK%c (IMD): WARNING: Unsupported disk capacity, assuming HDSK type "
"with capacity %iKB.\n", unitChar, uptr -> capac / 1000);
uptr -> flags |= UNIT_HDSK_WLK;
printf("HDSK%c (IMD): WARNING: Forcing WRTLCK.\n", unitChar);
}
return SCPE_OK;
}
/* Step 1: Determine capacity of this disk */
uptr -> capac = sim_fsize(uptr -> fileref); /* the file length is a good indication */
if (uptr -> capac == 0) { /* file does not exist or has length 0 */
uptr -> capac = (uptr -> HDSK_NUMBER_OF_TRACKS *
uptr -> HDSK_SECTORS_PER_TRACK * uptr -> HDSK_SECTOR_SIZE);
if (uptr -> capac == 0)
uptr -> capac = HDSK_CAPACITY;
} /* post condition: uptr -> capac > 0 */
assert(uptr -> capac);
/* Step 2: Determine format based on disk capacity */
assignFormat(uptr);
/* Step 3: Set number of sectors per track and sector size */ /* Step 3: Set number of sectors per track and sector size */
if (uptr -> HDSK_FORMAT_TYPE == -1) { /* Case 1: no disk parameter block found */ if (uptr -> HDSK_FORMAT_TYPE == -1) { /* Case 1: no disk parameter block found */
for (i = 0; i < hdsk_dev.numunits; i++) /* find affected unit number */
if (&hdsk_unit[i] == uptr)
break; /* found */
unitChar = '0' + i;
uptr -> HDSK_FORMAT_TYPE = 0; uptr -> HDSK_FORMAT_TYPE = 0;
printf("HDSK%c: WARNING: Unsupported disk capacity, assuming HDSK type with capacity %iKB.\n", printf("HDSK%c: WARNING: Unsupported disk capacity, assuming HDSK type with capacity %iKB.\n",
unitChar, uptr -> capac / 1000); unitChar, uptr -> capac / 1000);
@ -350,8 +462,16 @@ static t_stat hdsk_attach(UNIT *uptr, char *cptr) {
static t_stat hdsk_detach(UNIT *uptr) { static t_stat hdsk_detach(UNIT *uptr) {
t_stat result; t_stat result;
int32 unitIndex;
if (uptr == NULL) if (uptr == NULL)
return SCPE_IERR; return SCPE_IERR;
if (is_imd(uptr)) {
unitIndex = find_unit_index(uptr);
if (unitIndex == -1)
return SCPE_IERR;
assert((0 <= unitIndex) && (unitIndex < HDSK_NUMBER));
diskClose(&hdsk_imd[unitIndex]);
}
result = detach_unit(uptr); result = detach_unit(uptr);
uptr -> capac = HDSK_CAPACITY; uptr -> capac = HDSK_CAPACITY;
uptr -> HDSK_FORMAT_TYPE = 0; uptr -> HDSK_FORMAT_TYPE = 0;
@ -603,12 +723,46 @@ static int32 doSeek(void) {
return CPM_OK; return CPM_OK;
} }
uint8 hdskbuf[HDSK_MAX_SECTOR_SIZE] = { 0 }; /* data buffer */ static uint8 hdskbuf[HDSK_MAX_SECTOR_SIZE] = { 0 }; /* data buffer */
/* pre-condition: checkParameters has been executed to repair any faulty parameters */ /* pre-condition: checkParameters has been executed to repair any faulty parameters */
static int32 doRead(void) { static int32 doRead(void) {
int32 i; int32 i;
t_stat result;
DISK_INFO *thisDisk;
int32 hostSector;
int32 sectorSize;
uint32 flags;
uint32 readlen;
uint32 cylinder;
uint32 head;
UNIT *uptr = &hdsk_dev.units[selectedDisk]; UNIT *uptr = &hdsk_dev.units[selectedDisk];
if (is_imd(uptr)) {
thisDisk = hdsk_imd[selectedDisk];
hostSector = ((dpb[uptr -> HDSK_FORMAT_TYPE].skew == NULL) ?
selectedSector : dpb[uptr -> HDSK_FORMAT_TYPE].skew[selectedSector]) + thisDisk -> track[1][0].start_sector;
sectorSize = ((dpb[uptr -> HDSK_FORMAT_TYPE].physicalSectorSize == 0) ?
uptr -> HDSK_SECTOR_SIZE :
dpb[uptr -> HDSK_FORMAT_TYPE].physicalSectorSize);
flags = 0;
readlen = 0;
cylinder = selectedTrack;
head = 0;
if (cylinder >= thisDisk -> ntracks / thisDisk -> nsides) {
head = 1;
cylinder -= thisDisk -> ntracks / thisDisk -> nsides;
}
result = sectRead(thisDisk, cylinder, head, hostSector, hdskbuf, sectorSize,
&flags, &readlen);
if (result != SCPE_OK) {
for (i = 0; i < uptr -> HDSK_SECTOR_SIZE; i++)
hdskbuf[i] = CPM_EMPTY;
sim_debug(VERBOSE_MSG, &hdsk_dev, "HDSK%d (IMD): " ADDRESS_FORMAT
" . Could not read Sector=%02d Track=%04d.\n",
selectedDisk, PCX, selectedSector, selectedTrack);
return CPM_ERROR;
}
} else {
if (doSeek()) if (doSeek())
return CPM_ERROR; return CPM_ERROR;
@ -620,6 +774,7 @@ static int32 doRead(void) {
selectedDisk, PCX, selectedSector, selectedTrack); selectedDisk, PCX, selectedSector, selectedTrack);
return CPM_OK; /* allows the creation of empty hard disks */ return CPM_OK; /* allows the creation of empty hard disks */
} }
}
for (i = 0; i < uptr -> HDSK_SECTOR_SIZE; i++) for (i = 0; i < uptr -> HDSK_SECTOR_SIZE; i++)
PutBYTEWrapper(selectedDMA + i, hdskbuf[i]); PutBYTEWrapper(selectedDMA + i, hdskbuf[i]);
return CPM_OK; return CPM_OK;
@ -628,9 +783,43 @@ static int32 doRead(void) {
/* pre-condition: checkParameters has been executed to repair any faulty parameters */ /* pre-condition: checkParameters has been executed to repair any faulty parameters */
static int32 doWrite(void) { static int32 doWrite(void) {
int32 i; int32 i;
t_stat result;
DISK_INFO *thisDisk;
int32 hostSector;
int32 sectorSize;
uint32 flags;
uint32 writelen;
uint32 cylinder;
uint32 head;
size_t rtn; size_t rtn;
UNIT *uptr = &hdsk_dev.units[selectedDisk]; UNIT *uptr = &hdsk_dev.units[selectedDisk];
if (((uptr -> flags) & UNIT_HDSK_WLK) == 0) { /* write enabled */ if (((uptr -> flags) & UNIT_HDSK_WLK) == 0) { /* write enabled */
if (is_imd(uptr)) {
for (i = 0; i < uptr -> HDSK_SECTOR_SIZE; i++)
hdskbuf[i] = GetBYTEWrapper(selectedDMA + i);
thisDisk = hdsk_imd[selectedDisk];
hostSector = ((dpb[uptr -> HDSK_FORMAT_TYPE].skew == NULL) ?
selectedSector : dpb[uptr -> HDSK_FORMAT_TYPE].skew[selectedSector]) + thisDisk -> track[1][0].start_sector;
sectorSize = ((dpb[uptr -> HDSK_FORMAT_TYPE].physicalSectorSize == 0) ?
uptr -> HDSK_SECTOR_SIZE :
dpb[uptr -> HDSK_FORMAT_TYPE].physicalSectorSize);
flags = 0;
writelen = 0;
cylinder = selectedTrack;
head = 0;
if (cylinder >= thisDisk -> ntracks / thisDisk -> nsides) {
head = 1;
cylinder -= thisDisk -> ntracks / thisDisk -> nsides;
}
result = sectWrite(thisDisk, cylinder, head, hostSector, hdskbuf,
sectorSize, &flags, &writelen);
if (result != SCPE_OK) {
sim_debug(VERBOSE_MSG, &hdsk_dev, "HDSK%d (IMD): " ADDRESS_FORMAT
" . Could not write Sector=%02d Track=%04d.\n",
selectedDisk, PCX, selectedSector, selectedTrack);
return CPM_ERROR;
}
} else {
if (doSeek()) if (doSeek())
return CPM_ERROR; return CPM_ERROR;
for (i = 0; i < uptr -> HDSK_SECTOR_SIZE; i++) for (i = 0; i < uptr -> HDSK_SECTOR_SIZE; i++)
@ -643,6 +832,7 @@ static int32 doWrite(void) {
return CPM_ERROR; return CPM_ERROR;
} }
} }
}
else { else {
sim_debug(VERBOSE_MSG, &hdsk_dev, "HDSK%d: " ADDRESS_FORMAT sim_debug(VERBOSE_MSG, &hdsk_dev, "HDSK%d: " ADDRESS_FORMAT
" Could not write to locked disk Sector=%02d Track=%04d.\n", " Could not write to locked disk Sector=%02d Track=%04d.\n",

View file

@ -1,6 +1,6 @@
/* altairz80_net.c: networking capability /* altairz80_net.c: networking capability
Copyright (c) 2002-2011, Peter Schorn Copyright (c) 2002-2013, Peter Schorn
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),
@ -77,16 +77,14 @@ static struct {
static UNIT net_unit = { static UNIT net_unit = {
UDATA (&net_svc, UNIT_ATTABLE, 0), UDATA (&net_svc, UNIT_ATTABLE, 0),
0, /* wait, set in attach */ 0, /* wait, set in attach */
0, /* u3 = Port */ 0, /* u3, unused */
0, /* u4 = IP of host */ 0, /* u4, unused */
0, /* u5, unused */ 0, /* u5, unused */
0, /* u6, unused */ 0, /* u6, unused */
}; };
static REG net_reg[] = { static REG net_reg[] = {
{ DRDATA (POLL, net_unit.wait, 32) }, { DRDATA (POLL, net_unit.wait, 32) },
{ HRDATA (IPHOST, net_unit.u4, 32), REG_RO },
{ DRDATA (PORT, net_unit.u3, 32), REG_RO },
{ NULL } { NULL }
}; };

View file

@ -1,6 +1,6 @@
/* altairz80_sio.c: MITS Altair serial I/O card /* altairz80_sio.c: MITS Altair serial I/O card
Copyright (c) 2002-2011, Peter Schorn Copyright (c) 2002-2013, Peter Schorn
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),
@ -72,7 +72,7 @@ uint8 *URLContents(const char *URL, uint32 *length) {
char *result; char *result;
strncat(str, URL, RESULT_BUFFER_LENGTH - strlen(RESULT_LEAD_IN) - strlen(RESULT_LEAD_OUT) - 1); strncat(str, URL, RESULT_BUFFER_LENGTH - strlen(RESULT_LEAD_IN) - strlen(RESULT_LEAD_OUT) - 1);
strcat(str, RESULT_LEAD_OUT); strcat(str, RESULT_LEAD_OUT);
result = malloc(strlen(str)); result = (char*)malloc(strlen(str));
strcpy(result, str); strcpy(result, str);
*length = strlen(str); *length = strlen(str);
return (uint8*)result; return (uint8*)result;
@ -733,8 +733,10 @@ static int32 sio0dCore(const int32 port, const int32 io, const int32 data) {
ch = sio_unit.flags & UNIT_SIO_ANSI ? data & 0x7f : data; /* clear highest bit in ANSI mode */ ch = sio_unit.flags & UNIT_SIO_ANSI ? data & 0x7f : data; /* clear highest bit in ANSI mode */
if ((ch != CONTROLG_CHAR) || !(sio_unit.flags & UNIT_SIO_BELL)) { if ((ch != CONTROLG_CHAR) || !(sio_unit.flags & UNIT_SIO_BELL)) {
voidSleep(); voidSleep();
if ((sio_unit.flags & UNIT_ATT) && (!sio_unit.u4)) /* attached to a port and not to a file */ if ((sio_unit.flags & UNIT_ATT) && (!sio_unit.u4)) { /* attached to a port and not to a file */
tmxr_putc_ln(&TerminalLines[spi.terminalLine], ch); /* status ignored */ tmxr_putc_ln(&TerminalLines[spi.terminalLine], ch); /* status ignored */
tmxr_poll_tx(&altairTMXR); /* poll xmt */
}
else else
sim_putchar(ch); sim_putchar(ch);
} }
@ -1265,8 +1267,8 @@ static void attachCPM(UNIT *uptr) {
if (uptr == &ptr_unit) if (uptr == &ptr_unit)
sim_switches = SWMASK('R') | SWMASK('Q'); sim_switches = SWMASK('R') | SWMASK('Q');
else if (uptr == &ptp_unit) else if (uptr == &ptp_unit)
sim_switches = SWMASK('W') | SWMASK('C') | SWMASK('Q'); sim_switches = SWMASK('W') | SWMASK('N') | SWMASK('Q');
/* 'C' option makes sure that file is properly truncated if it had existed before */ /* 'N' option makes sure that file is properly truncated if it had existed before */
sim_quiet = sim_switches & SWMASK ('Q'); /* -q means quiet */ sim_quiet = sim_switches & SWMASK ('Q'); /* -q means quiet */
lastCPMStatus = attach_unit(uptr, cpmCommandLine); lastCPMStatus = attach_unit(uptr, cpmCommandLine);
if (lastCPMStatus != SCPE_OK) { if (lastCPMStatus != SCPE_OK) {

View file

@ -1,6 +1,6 @@
/* altairz80_sys.c: MITS Altair system interface /* altairz80_sys.c: MITS Altair system interface
Copyright (c) 2002-2011, Peter Schorn Copyright (c) 2002-2013, Peter Schorn
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),
@ -138,13 +138,13 @@ const char *sim_stop_messages[] = {
static char *const Mnemonics8080[] = { static char *const Mnemonics8080[] = {
/* 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F */ /* 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F */
"NOP", "LXI B,#h", "STAX B", "INX B", "INR B", "DCR B", "MVI B,*h", "RLC", /* 00-07 */ "NOP", "LXI B,#h", "STAX B", "INX B", "INR B", "DCR B", "MVI B,*h", "RLC", /* 00-07 */
"DB 09h", "DAD B", "LDAX B", "DCX B", "INR C", "DCR C", "MVI C,*h", "RRC", /* 08-0f */ "_NOP", "DAD B", "LDAX B", "DCX B", "INR C", "DCR C", "MVI C,*h", "RRC", /* 08-0f */
"DB 10h", "LXI D,#h", "STAX D", "INX D", "INR D", "DCR D", "MVI D,*h", "RAL", /* 10-17 */ "_NOP", "LXI D,#h", "STAX D", "INX D", "INR D", "DCR D", "MVI D,*h", "RAL", /* 10-17 */
"DB 18h", "DAD D", "LDAX D", "DCX D", "INR E", "DCR E", "MVI E,*h", "RAR", /* 18-1f */ "_NOP", "DAD D", "LDAX D", "DCX D", "INR E", "DCR E", "MVI E,*h", "RAR", /* 18-1f */
"DB 20h", "LXI H,#h", "SHLD #h", "INX H", "INR H", "DCR H", "MVI H,*h", "DAA", /* 20-27 */ "_NOP", "LXI H,#h", "SHLD #h", "INX H", "INR H", "DCR H", "MVI H,*h", "DAA", /* 20-27 */
"DB 28h", "DAD H", "LHLD #h", "DCX H", "INR L", "DCR L", "MVI L,*h", "CMA", /* 28-2f */ "_NOP", "DAD H", "LHLD #h", "DCX H", "INR L", "DCR L", "MVI L,*h", "CMA", /* 28-2f */
"DB 30h", "LXI SP,#h", "STA #h", "INX SP", "INR M", "DCR M", "MVI M,*h", "STC", /* 30-37 */ "_NOP", "LXI SP,#h", "STA #h", "INX SP", "INR M", "DCR M", "MVI M,*h", "STC", /* 30-37 */
"DB 38h", "DAD SP", "LDA #h", "DCX SP", "INR A", "DCR A", "MVI A,*h", "CMC", /* 38-3f */ "_NOP", "DAD SP", "LDA #h", "DCX SP", "INR A", "DCR A", "MVI A,*h", "CMC", /* 38-3f */
"MOV B,B", "MOV B,C", "MOV B,D", "MOV B,E", "MOV B,H", "MOV B,L", "MOV B,M", "MOV B,A", /* 40-47 */ "MOV B,B", "MOV B,C", "MOV B,D", "MOV B,E", "MOV B,H", "MOV B,L", "MOV B,M", "MOV B,A", /* 40-47 */
"MOV C,B", "MOV C,C", "MOV C,D", "MOV C,E", "MOV C,H", "MOV C,L", "MOV C,M", "MOV C,A", /* 48-4f */ "MOV C,B", "MOV C,C", "MOV C,D", "MOV C,E", "MOV C,H", "MOV C,L", "MOV C,M", "MOV C,A", /* 48-4f */
"MOV D,B", "MOV D,C", "MOV D,D", "MOV D,E", "MOV D,H", "MOV D,L", "MOV D,M", "MOV D,A", /* 50-57 */ "MOV D,B", "MOV D,C", "MOV D,D", "MOV D,E", "MOV D,H", "MOV D,L", "MOV D,M", "MOV D,A", /* 50-57 */
@ -162,13 +162,13 @@ static char *const Mnemonics8080[] = {
"ORA B", "ORA C", "ORA D", "ORA E", "ORA H", "ORA L", "ORA M", "ORA A", /* b0-b7 */ "ORA B", "ORA C", "ORA D", "ORA E", "ORA H", "ORA L", "ORA M", "ORA A", /* b0-b7 */
"CMP B", "CMP C", "CMP D", "CMP E", "CMP H", "CMP L", "CMP M", "CMP A", /* b8-bf */ "CMP B", "CMP C", "CMP D", "CMP E", "CMP H", "CMP L", "CMP M", "CMP A", /* b8-bf */
"RNZ", "POP B", "JNZ #h", "JMP #h", "CNZ #h", "PUSH B", "ADI *h", "RST 0", /* c0-c7 */ "RNZ", "POP B", "JNZ #h", "JMP #h", "CNZ #h", "PUSH B", "ADI *h", "RST 0", /* c0-c7 */
"RZ", "RET", "JZ #h", "DB CBh", "CZ #h", "CALL #h", "ACI *h", "RST 1", /* c8-cf */ "RZ", "RET", "JZ #h", "_JMP #h", "CZ #h", "CALL #h", "ACI *h", "RST 1", /* c8-cf */
"RNC", "POP D", "JNC #h", "OUT *h", "CNC #h", "PUSH D", "SUI *h", "RST 2", /* d0-d7 */ "RNC", "POP D", "JNC #h", "OUT *h", "CNC #h", "PUSH D", "SUI *h", "RST 2", /* d0-d7 */
"RC", "DB D9h", "JC #h", "IN *h", "CC #h", "DB DDh", "SBI *h", "RST 3", /* d8-df */ "RC", "_RET", "JC #h", "IN *h", "CC #h", "_CALL #h", "SBI *h", "RST 3", /* d8-df */
"RPO", "POP H", "JPO #h", "XTHL", "CPO #h", "PUSH H", "ANI *h", "RST 4", /* e0-e7 */ "RPO", "POP H", "JPO #h", "XTHL", "CPO #h", "PUSH H", "ANI *h", "RST 4", /* e0-e7 */
"RPE", "PCHL", "JPE #h", "XCHG", "CPE #h", "DB EDh", "XRI *h", "RST 5", /* e8-ef */ "RPE", "PCHL", "JPE #h", "XCHG", "CPE #h", "_CALL #h", "XRI *h", "RST 5", /* e8-ef */
"RP", "POP PSW", "JP #h", "DI", "CP #h", "PUSH PSW", "ORI *h", "RST 6", /* f0-f7 */ "RP", "POP PSW", "JP #h", "DI", "CP #h", "PUSH PSW", "ORI *h", "RST 6", /* f0-f7 */
"RM", "SPHL", "JM #h", "EI", "CM #h", "DB FDh", "CPI *h", "RST 7" /* f8-ff */ "RM", "SPHL", "JM #h", "EI", "CM #h", "_CALL #h", "CPI *h", "RST 7" /* f8-ff */
}; };
static char *const MnemonicsZ80[256] = { static char *const MnemonicsZ80[256] = {

View file

@ -209,7 +209,7 @@ t_stat sim_instr_8086(void) {
while (switch_cpu_now == TRUE) { /* loop until halted */ while (switch_cpu_now == TRUE) { /* loop until halted */
if (sim_interval <= 0) { /* check clock queue */ if (sim_interval <= 0) { /* check clock queue */
#if !UNIX_PLATFORM #if !UNIX_PLATFORM
if ((reason = sim_os_poll_kbd()) == SCPE_STOP) /* poll on platforms without reliable signalling */ if ((reason = sim_poll_kbd()) == SCPE_STOP) /* poll on platforms without reliable signalling */
break; break;
#endif #endif
if ( (reason = sim_process_event()) ) if ( (reason = sim_process_event()) )

View file

@ -206,7 +206,7 @@ static uint8 mfdc_rom[256] = {
}; };
/* Reset routine */ /* Reset routine */
t_stat mfdc_reset(DEVICE *dptr) static t_stat mfdc_reset(DEVICE *dptr)
{ {
uint8 i; uint8 i;
PNP_INFO *pnp = (PNP_INFO *)dptr->ctxt; PNP_INFO *pnp = (PNP_INFO *)dptr->ctxt;
@ -228,7 +228,7 @@ t_stat mfdc_reset(DEVICE *dptr)
} }
/* Attach routine */ /* Attach routine */
t_stat mfdc_attach(UNIT *uptr, char *cptr) static t_stat mfdc_attach(UNIT *uptr, char *cptr)
{ {
t_stat r; t_stat r;
unsigned int i = 0; unsigned int i = 0;
@ -283,7 +283,7 @@ t_stat mfdc_attach(UNIT *uptr, char *cptr)
/* Detach routine */ /* Detach routine */
t_stat mfdc_detach(UNIT *uptr) static t_stat mfdc_detach(UNIT *uptr)
{ {
t_stat r; t_stat r;
int8 i; int8 i;

View file

@ -285,7 +285,7 @@ static t_stat disk2_attach(UNIT *uptr, char *cptr)
/* Detach routine */ /* Detach routine */
t_stat disk2_detach(UNIT *uptr) static t_stat disk2_detach(UNIT *uptr)
{ {
t_stat r; t_stat r;
int8 i; int8 i;

View file

@ -351,7 +351,7 @@ static t_stat disk3_attach(UNIT *uptr, char *cptr)
/* Detach routine */ /* Detach routine */
t_stat disk3_detach(UNIT *uptr) static t_stat disk3_detach(UNIT *uptr)
{ {
DISK3_DRIVE_INFO *pDrive; DISK3_DRIVE_INFO *pDrive;
t_stat r; t_stat r;

View file

@ -2,7 +2,7 @@
IMSAI FIF Disk Controller by Ernie Price IMSAI FIF Disk Controller by Ernie Price
Based on altairz80_dsk.c, Copyright (c) 2002-2011, Peter Schorn Based on altairz80_dsk.c, Copyright (c) 2002-2013, Peter Schorn
Plug-n-Play added by Howard M. Harte Plug-n-Play added by Howard M. Harte

View file

@ -256,7 +256,7 @@ static t_stat hdc1001_attach(UNIT *uptr, char *cptr)
/* Detach routine */ /* Detach routine */
t_stat hdc1001_detach(UNIT *uptr) static t_stat hdc1001_detach(UNIT *uptr)
{ {
HDC1001_DRIVE_INFO *pDrive; HDC1001_DRIVE_INFO *pDrive;
t_stat r; t_stat r;

View file

@ -268,7 +268,7 @@ DEVICE mdsad_dev = {
}; };
/* Reset routine */ /* Reset routine */
t_stat mdsad_reset(DEVICE *dptr) static t_stat mdsad_reset(DEVICE *dptr)
{ {
PNP_INFO *pnp = (PNP_INFO *)dptr->ctxt; PNP_INFO *pnp = (PNP_INFO *)dptr->ctxt;
@ -289,7 +289,7 @@ t_stat mdsad_reset(DEVICE *dptr)
} }
/* Attach routine */ /* Attach routine */
t_stat mdsad_attach(UNIT *uptr, char *cptr) static t_stat mdsad_attach(UNIT *uptr, char *cptr)
{ {
char header[4]; char header[4];
t_stat r; t_stat r;
@ -341,7 +341,7 @@ t_stat mdsad_attach(UNIT *uptr, char *cptr)
/* Detach routine */ /* Detach routine */
t_stat mdsad_detach(UNIT *uptr) static t_stat mdsad_detach(UNIT *uptr)
{ {
t_stat r; t_stat r;
int8 i; int8 i;

View file

@ -437,7 +437,7 @@ t_stat diskCreate(FILE *fileref, char *ctlr_comment)
} }
t_stat diskFormat(DISK_INFO *myDisk) static t_stat diskFormat(DISK_INFO *myDisk)
{ {
uint8 i; uint8 i;
uint8 sector_map[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; uint8 sector_map[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26};
@ -759,7 +759,7 @@ t_stat trackWrite(DISK_INFO *myDisk,
* sector record type as the first byte, and fill the sector * sector record type as the first byte, and fill the sector
* data with the fillbyte. * data with the fillbyte.
*/ */
dataLen = (128 << sectorLen)+1; dataLen = sectorLen + 1;
sectorData = malloc(dataLen); sectorData = malloc(dataLen);
memset(sectorData, fillbyte, dataLen); memset(sectorData, fillbyte, dataLen);
sectorData[0] = SECT_RECORD_NORM; sectorData[0] = SECT_RECORD_NORM;

View file

@ -1,6 +1,6 @@
/* i1401_lp.c: IBM 1403 line printer simulator /* i1401_lp.c: IBM 1403 line printer simulator
Copyright (c) 1993-2008, Robert M. Supnik Copyright (c) 1993-2013, Robert M. Supnik
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),
@ -25,6 +25,7 @@
lpt 1403 line printer lpt 1403 line printer
16-Apr-13 RMS Fixed printer chain selection
19-Jan-07 RMS Added UNIT_TEXT flag 19-Jan-07 RMS Added UNIT_TEXT flag
07-Mar-05 RMS Fixed bug in write_line (Van Snyder) 07-Mar-05 RMS Fixed bug in write_line (Van Snyder)
25-Apr-03 RMS Revised for extended file support 25-Apr-03 RMS Revised for extended file support
@ -49,17 +50,17 @@ t_stat lpt_attach (UNIT *uptr, char *cptr);
t_stat space (int32 lines, int32 lflag); t_stat space (int32 lines, int32 lflag);
char *pch_table_old[4] = { char *pch_table_old[4] = {
bcd_to_ascii_old, bcd_to_pca, bcd_to_pch, bcd_to_ascii_old bcd_to_ascii_old, bcd_to_ascii_old, bcd_to_pca, bcd_to_pch
}; };
char *pch_table[4] = { char *pch_table[4] = {
bcd_to_ascii_a, bcd_to_pca, bcd_to_pch, bcd_to_ascii_h bcd_to_ascii_a, bcd_to_ascii_h, bcd_to_pca, bcd_to_pch
}; };
#define UNIT_V_FT (UNIT_V_UF + 0) #define UNIT_V_FT (UNIT_V_UF + 0)
#define UNIT_V_48 (UNIT_V_UF + 1) #define UNIT_V_48 (UNIT_V_UF + 1)
#define UNIT_FT (1 << UNIT_V_FT) #define UNIT_FT (1 << UNIT_V_FT)
#define UNIT_48 (1 << UNIT_V_48) #define UNIT_48 (1 << UNIT_V_48)
#define GET_PCHAIN(x) (((x) >> UNIT_V_FT) & (UNIT_FT|UNIT_48)) #define GET_PCHAIN(x) (((x) >> UNIT_V_FT) & 03)
#define CHP(ch,val) ((val) & (1 << (ch))) #define CHP(ch,val) ((val) & (1 << (ch)))
/* LPT data structures /* LPT data structures
@ -119,9 +120,10 @@ if ((lpt_unit.flags & UNIT_ATT) == 0) /* attached? */
wm = ((ilnt == 2) || (ilnt == 5)) && (mod == BCD_SQUARE); wm = ((ilnt == 2) || (ilnt == 5)) && (mod == BCD_SQUARE);
sup = ((ilnt == 2) || (ilnt == 5)) && (mod == BCD_S); sup = ((ilnt == 2) || (ilnt == 5)) && (mod == BCD_S);
ind[IN_LPT] = 0; /* clear error */ ind[IN_LPT] = 0; /* clear error */
t = GET_PCHAIN (lpt_unit.flags);
if (conv_old) /* get print chain */ if (conv_old) /* get print chain */
bcd2asc = pch_table_old[GET_PCHAIN (lpt_unit.flags)]; bcd2asc = pch_table_old[t];
else bcd2asc = pch_table[GET_PCHAIN (lpt_unit.flags)]; else bcd2asc = pch_table[t];
for (i = 0; i < LPT_WIDTH; i++) { /* convert print buf */ for (i = 0; i < LPT_WIDTH; i++) { /* convert print buf */
t = M[LPT_BUF + i]; t = M[LPT_BUF + i];
if (wm) /* wmarks -> 1 or sp */ if (wm) /* wmarks -> 1 or sp */

BIN
Ibm1130/ibm1130.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -1,435 +0,0 @@
# Microsoft Visual C++ Generated NMAKE File, Format Version 2.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
!IF "$(CFG)" == ""
CFG=Win32 Debug
!MESSAGE No configuration specified. Defaulting to Win32 Debug.
!ENDIF
!IF "$(CFG)" != "Win32 Release" && "$(CFG)" != "Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "ibm1130.mak" CFG="Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
################################################################################
# Begin Project
# PROP Target_Last_Scanned "Win32 Debug"
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "WinRel"
# PROP BASE Intermediate_Dir "WinRel"
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "WinRel"
# PROP Intermediate_Dir "WinRel"
OUTDIR=.\WinRel
INTDIR=.\WinRel
ALL : $(OUTDIR)/ibm1130.exe $(OUTDIR)/ibm1130.bsc
$(OUTDIR) :
if not exist $(OUTDIR)/nul mkdir $(OUTDIR)
# ADD BASE CPP /nologo /W3 /GX /YX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FR /c
# ADD CPP /nologo /W3 /GX /YX /O2 /I "c:\pdp11\supnik" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "GUI_SUPPORT" /U "VMS" /FR /c
CPP_PROJ=/nologo /W3 /GX /YX /O2 /I "c:\pdp11\supnik" /D "NDEBUG" /D "WIN32" /D\
"_CONSOLE" /D "GUI_SUPPORT" /U "VMS" /FR$(INTDIR)/ /Fp$(OUTDIR)/"ibm1130.pch"\
/Fo$(INTDIR)/ /c
CPP_OBJS=.\WinRel/
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
RSC_PROJ=/l 0x409 /fo$(INTDIR)/"ibm1130.res" /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o$(OUTDIR)/"ibm1130.bsc"
BSC32_SBRS= \
$(INTDIR)/ibm1130_cpu.sbr \
$(INTDIR)/ibm1130_sys.sbr \
$(INTDIR)/ibm1130_cr.sbr \
$(INTDIR)/ibm1130_stddev.sbr \
$(INTDIR)/ibm1130_disk.sbr \
$(INTDIR)/ibm1130_gdu.sbr \
$(INTDIR)/ibm1130_gui.sbr \
$(INTDIR)/ibm1130_prt.sbr \
$(INTDIR)/scp.sbr \
$(INTDIR)/sim_tmxr.sbr \
$(INTDIR)/sim_sock.sbr \
$(INTDIR)/ibm1130_fmt.sbr \
$(INTDIR)/sim_console.sbr \
$(INTDIR)/sim_fio.sbr \
$(INTDIR)/sim_timer.sbr \
$(INTDIR)/ibm1130_ptrp.sbr
$(OUTDIR)/ibm1130.bsc : $(OUTDIR) $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /NOLOGO /SUBSYSTEM:console /MACHINE:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib wsock32.lib shell32.lib /NOLOGO /SUBSYSTEM:console /MACHINE:I386
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib\
wsock32.lib shell32.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no\
/PDB:$(OUTDIR)/"ibm1130.pdb" /MACHINE:I386 /OUT:$(OUTDIR)/"ibm1130.exe"
DEF_FILE=
LINK32_OBJS= \
$(INTDIR)/ibm1130_cpu.obj \
$(INTDIR)/ibm1130_sys.obj \
$(INTDIR)/ibm1130_cr.obj \
$(INTDIR)/ibm1130_stddev.obj \
$(INTDIR)/ibm1130.res \
$(INTDIR)/ibm1130_disk.obj \
$(INTDIR)/ibm1130_gdu.obj \
$(INTDIR)/ibm1130_gui.obj \
$(INTDIR)/ibm1130_prt.obj \
$(INTDIR)/scp.obj \
$(INTDIR)/sim_tmxr.obj \
$(INTDIR)/sim_sock.obj \
$(INTDIR)/ibm1130_fmt.obj \
$(INTDIR)/sim_console.obj \
$(INTDIR)/sim_fio.obj \
$(INTDIR)/sim_timer.obj \
$(INTDIR)/ibm1130_ptrp.obj
$(OUTDIR)/ibm1130.exe : $(OUTDIR) $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "WinDebug"
# PROP BASE Intermediate_Dir "WinDebug"
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "WinDebug"
# PROP Intermediate_Dir "WinDebug"
OUTDIR=.\WinDebug
INTDIR=.\WinDebug
ALL : $(OUTDIR)/ibm1130.exe $(OUTDIR)/ibm1130.bsc
$(OUTDIR) :
if not exist $(OUTDIR)/nul mkdir $(OUTDIR)
# ADD BASE CPP /nologo /W3 /GX /Zi /YX /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FR /c
# ADD CPP /nologo /W3 /GX /Zi /YX /Od /I "c:\pdp11\supnik" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "GUI_SUPPORT" /U "VMS" /FR /c
CPP_PROJ=/nologo /W3 /GX /Zi /YX /Od /I "c:\pdp11\supnik" /D "_DEBUG" /D\
"WIN32" /D "_CONSOLE" /D "GUI_SUPPORT" /U "VMS" /FR$(INTDIR)/\
/Fp$(OUTDIR)/"ibm1130.pch" /Fo$(INTDIR)/ /Fd$(OUTDIR)/"ibm1130.pdb" /c
CPP_OBJS=.\WinDebug/
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
RSC_PROJ=/l 0x409 /fo$(INTDIR)/"ibm1130.res" /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o$(OUTDIR)/"ibm1130.bsc"
BSC32_SBRS= \
$(INTDIR)/ibm1130_cpu.sbr \
$(INTDIR)/ibm1130_sys.sbr \
$(INTDIR)/ibm1130_cr.sbr \
$(INTDIR)/ibm1130_stddev.sbr \
$(INTDIR)/ibm1130_disk.sbr \
$(INTDIR)/ibm1130_gdu.sbr \
$(INTDIR)/ibm1130_gui.sbr \
$(INTDIR)/ibm1130_prt.sbr \
$(INTDIR)/scp.sbr \
$(INTDIR)/sim_tmxr.sbr \
$(INTDIR)/sim_sock.sbr \
$(INTDIR)/ibm1130_fmt.sbr \
$(INTDIR)/sim_console.sbr \
$(INTDIR)/sim_fio.sbr \
$(INTDIR)/sim_timer.sbr \
$(INTDIR)/ibm1130_ptrp.sbr
$(OUTDIR)/ibm1130.bsc : $(OUTDIR) $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /NOLOGO /SUBSYSTEM:console /DEBUG /MACHINE:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib wsock32.lib shell32.lib /NOLOGO /SUBSYSTEM:console /DEBUG /MACHINE:I386
# SUBTRACT LINK32 /MAP
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib\
wsock32.lib shell32.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes\
/PDB:$(OUTDIR)/"ibm1130.pdb" /DEBUG /MACHINE:I386 /OUT:$(OUTDIR)/"ibm1130.exe"
DEF_FILE=
LINK32_OBJS= \
$(INTDIR)/ibm1130_cpu.obj \
$(INTDIR)/ibm1130_sys.obj \
$(INTDIR)/ibm1130_cr.obj \
$(INTDIR)/ibm1130_stddev.obj \
$(INTDIR)/ibm1130.res \
$(INTDIR)/ibm1130_disk.obj \
$(INTDIR)/ibm1130_gdu.obj \
$(INTDIR)/ibm1130_gui.obj \
$(INTDIR)/ibm1130_prt.obj \
$(INTDIR)/scp.obj \
$(INTDIR)/sim_tmxr.obj \
$(INTDIR)/sim_sock.obj \
$(INTDIR)/ibm1130_fmt.obj \
$(INTDIR)/sim_console.obj \
$(INTDIR)/sim_fio.obj \
$(INTDIR)/sim_timer.obj \
$(INTDIR)/ibm1130_ptrp.obj
$(OUTDIR)/ibm1130.exe : $(OUTDIR) $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
################################################################################
# Begin Group "Source Files"
################################################################################
# Begin Source File
SOURCE=.\ibm1130_cpu.c
DEP_IBM11=\
.\ibm1130_defs.h\
..\sim_defs.h
$(INTDIR)/ibm1130_cpu.obj : $(SOURCE) $(DEP_IBM11) $(INTDIR)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130_sys.c
DEP_IBM113=\
.\ibm1130_defs.h\
..\sim_defs.h
$(INTDIR)/ibm1130_sys.obj : $(SOURCE) $(DEP_IBM113) $(INTDIR)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130_cr.c
DEP_IBM1130=\
.\ibm1130_defs.h\
..\sim_defs.h
$(INTDIR)/ibm1130_cr.obj : $(SOURCE) $(DEP_IBM1130) $(INTDIR)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130_stddev.c
DEP_IBM1130_=\
.\ibm1130_defs.h\
.\ibm1130_conout.h\
.\ibm1130_conin.h\
..\sim_defs.h
$(INTDIR)/ibm1130_stddev.obj : $(SOURCE) $(DEP_IBM1130_) $(INTDIR)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130.rc
DEP_IBM1130_R=\
.\1130consoleblank.bmp\
.\hand.cur
$(INTDIR)/ibm1130.res : $(SOURCE) $(DEP_IBM1130_R) $(INTDIR)
$(RSC) $(RSC_PROJ) $(SOURCE)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130_disk.c
DEP_IBM1130_D=\
.\ibm1130_defs.h\
.\dmsr2v12phases.h\
.\dmsr2v12slet.h\
..\sim_defs.h
$(INTDIR)/ibm1130_disk.obj : $(SOURCE) $(DEP_IBM1130_D) $(INTDIR)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130_gdu.c
DEP_IBM1130_G=\
.\ibm1130_defs.h\
..\sim_defs.h
$(INTDIR)/ibm1130_gdu.obj : $(SOURCE) $(DEP_IBM1130_G) $(INTDIR)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130_gui.c
DEP_IBM1130_GU=\
.\ibm1130_defs.h\
..\sim_defs.h
$(INTDIR)/ibm1130_gui.obj : $(SOURCE) $(DEP_IBM1130_GU) $(INTDIR)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130_prt.c
DEP_IBM1130_P=\
.\ibm1130_defs.h\
.\ibm1130_prtwheel.h\
..\sim_defs.h
$(INTDIR)/ibm1130_prt.obj : $(SOURCE) $(DEP_IBM1130_P) $(INTDIR)
# End Source File
################################################################################
# Begin Source File
SOURCE=\pdp11\supnik\scp.c
DEP_SCP_C=\
..\sim_defs.h\
\pdp11\supnik\sim_rev.h\
\pdp11\supnik\sim_sock.h\
\pdp11\supnik\sim_tmxr.h\
\MSVC20\INCLUDE\sys\TYPES.H
$(INTDIR)/scp.obj : $(SOURCE) $(DEP_SCP_C) $(INTDIR)
$(CPP) $(CPP_PROJ) $(SOURCE)
# End Source File
################################################################################
# Begin Source File
SOURCE=\pdp11\supnik\sim_tmxr.c
DEP_SIM_T=\
..\sim_defs.h\
\pdp11\supnik\sim_sock.h\
\pdp11\supnik\sim_tmxr.h\
\MSVC20\INCLUDE\sys\TYPES.H
$(INTDIR)/sim_tmxr.obj : $(SOURCE) $(DEP_SIM_T) $(INTDIR)
$(CPP) $(CPP_PROJ) $(SOURCE)
# End Source File
################################################################################
# Begin Source File
SOURCE=\pdp11\supnik\sim_sock.c
DEP_SIM_S=\
..\sim_defs.h\
\pdp11\supnik\sim_sock.h\
\MSVC20\INCLUDE\sys\TYPES.H
$(INTDIR)/sim_sock.obj : $(SOURCE) $(DEP_SIM_S) $(INTDIR)
$(CPP) $(CPP_PROJ) $(SOURCE)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130_fmt.c
$(INTDIR)/ibm1130_fmt.obj : $(SOURCE) $(INTDIR)
# End Source File
################################################################################
# Begin Source File
SOURCE=\pdp11\supnik\sim_console.c
DEP_SIM_C=\
..\sim_defs.h\
\pdp11\supnik\sim_sock.h\
\pdp11\supnik\sim_tmxr.h\
\pdp11\supnik\scp.h\
\pdp11\supnik\sim_console.h\
\pdp11\supnik\sim_timer.h\
\pdp11\supnik\sim_fio.h\
D:\PROGRA~1\MICROS~1\INCLUDE\WinSock2.h\
\MSVC20\INCLUDE\sys\TYPES.H\
D:\PROGRA~1\MICROS~1\INCLUDE\Qos.h\
D:\WINDDK\2600\inc\wxp\guiddef.h
$(INTDIR)/sim_console.obj : $(SOURCE) $(DEP_SIM_C) $(INTDIR)
$(CPP) $(CPP_PROJ) $(SOURCE)
# End Source File
################################################################################
# Begin Source File
SOURCE=\pdp11\supnik\sim_fio.c
DEP_SIM_F=\
..\sim_defs.h\
D:\PROGRA~1\MICROS~1\INCLUDE\BaseTsd.h\
\pdp11\supnik\scp.h\
\pdp11\supnik\sim_console.h\
\pdp11\supnik\sim_timer.h\
\pdp11\supnik\sim_fio.h
$(INTDIR)/sim_fio.obj : $(SOURCE) $(DEP_SIM_F) $(INTDIR)
$(CPP) $(CPP_PROJ) $(SOURCE)
# End Source File
################################################################################
# Begin Source File
SOURCE=\pdp11\supnik\sim_timer.c
DEP_SIM_TI=\
..\sim_defs.h\
D:\PROGRA~1\MICROS~1\INCLUDE\BaseTsd.h\
\pdp11\supnik\scp.h\
\pdp11\supnik\sim_console.h\
\pdp11\supnik\sim_timer.h\
\pdp11\supnik\sim_fio.h
$(INTDIR)/sim_timer.obj : $(SOURCE) $(DEP_SIM_TI) $(INTDIR)
$(CPP) $(CPP_PROJ) $(SOURCE)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\ibm1130_ptrp.c
$(INTDIR)/ibm1130_ptrp.obj : $(SOURCE) $(INTDIR)
# End Source File
# End Group
# End Project
################################################################################

View file

@ -12,6 +12,14 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS #undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -19,24 +27,23 @@
// TEXTINCLUDE // TEXTINCLUDE
// //
1 TEXTINCLUDE DISCARDABLE 1 TEXTINCLUDE
BEGIN BEGIN
"ibm1130res.h\0" "ibm1130res.h\0"
END END
2 TEXTINCLUDE DISCARDABLE 2 TEXTINCLUDE
BEGIN BEGIN
"#include <windows.h>\r\n" "#include <windows.h>\r\n"
"\0" "\0"
END END
3 TEXTINCLUDE DISCARDABLE 3 TEXTINCLUDE
BEGIN BEGIN
"\r\n" "\r\n"
"\0" "\0"
END END
/////////////////////////////////////////////////////////////////////////////
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED
@ -45,20 +52,72 @@ END
// Bitmap // Bitmap
// //
IDB_CONSOLE BITMAP MOVEABLE PURE "1130consoleblank.bmp" IDB_CONSOLE BITMAP "1130consoleblank.bmp"
FULL_1442 BITMAP MOVEABLE PURE "1442full.bmp" FULL_1442 BITMAP "1442full.bmp"
EOF_1442 BITMAP MOVEABLE PURE "1442eof.bmp" EOF_1442 BITMAP "1442eof.bmp"
EMPTY_1442 BITMAP MOVEABLE PURE "1442empty.bmp" EMPTY_1442 BITMAP "1442empty.bmp"
MIDDLE_1442 BITMAP MOVEABLE PURE "1442middle.bmp" MIDDLE_1442 BITMAP "1442middle.bmp"
FULL_1132 BITMAP MOVEABLE PURE "1132full.bmp" FULL_1132 BITMAP "1132full.bmp"
EMPTY_1132 BITMAP MOVEABLE PURE "1132empty.bmp" EMPTY_1132 BITMAP "1132empty.bmp"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Cursor // Cursor
// //
IDC_MYHAND CURSOR DISCARDABLE "HAND.CUR" IDC_MYHAND CURSOR "HAND.CUR"
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
mainicon ICON "ibm1130.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,8,0,0
PRODUCTVERSION 3,8,0,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "IBM 1130 simulator. For more information see http://ibm1130.org. Program based on SIMH by Bob Supnik, http:/.simh.trailing-edge.com"
VALUE "FileDescription", "ibm1130 Application"
VALUE "FileVersion", "3, 8, 0, 0"
VALUE "InternalName", "ibm1130"
VALUE "LegalCopyright", "Copyright (C) 2012, Brian Knittel. Plotter support incorporates LIBGD Copyright © 1997-2008 Thomas Boutell, Pierre A. Joye and contributors, see file COPYING at www.libgd.org"
VALUE "OriginalFilename", "ibm1130.exe"
VALUE "ProductName", "ibm1130 Application"
VALUE "ProductVersion", "3, 8, 0, 0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED #ifndef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

View file

@ -22,6 +22,16 @@
Also commented out my echo command as it's now a standard simh command Also commented out my echo command as it's now a standard simh command
27-Nov-05 BLK Added Arithmetic Factor Register support per Carl Claunch (GUI only) 27-Nov-05 BLK Added Arithmetic Factor Register support per Carl Claunch (GUI only)
06-Dec-06 BLK Moved CGI stuff out of ibm1130_cpu.c 06-Dec-06 BLK Moved CGI stuff out of ibm1130_cpu.c
01-May-07 BLK Changed name of function xio_1142_card to xio_1442_card. Corrected list of
devices in xio_devs[] (used in debugging only).
24-Mar-11 BLK Got the real IBM 1130 diagnostics (yay!). Fixed two errors detected by the CPU diagnostics:
-- was not resetting overflow bit after testing with BSC short form
(why did I think only the long form reset OV after testing?)
-- failed to detect numeric overflow in Divide instructions
Also fixed bug where simulator performed 2nd word fetch on Long mode instructions
on ops that don't have long mode, blowing out the SAR/SBR display that's important in the
IBM diagnostics. The simulator was decrementing the IAR after the incorrect fetch, so the
instructions worked correctly, but, the GUI display was wrong.
>> To do: verify actual operands stored in ARF, need to get this from state diagrams in the schematic set >> To do: verify actual operands stored in ARF, need to get this from state diagrams in the schematic set
Also: determine how many bits are actually stored in the IAR in a real 1130, by forcing wraparound Also: determine how many bits are actually stored in the IAR in a real 1130, by forcing wraparound
@ -91,6 +101,7 @@
opcode in MSBits opcode in MSBits
F = format. 0 = short (1 word), 1 = long (2 word) instruction F = format. 0 = short (1 word), 1 = long (2 word) instruction
(Not all operations have long versions. The bit is ignored for shifts, LDX, WAIT and invalid opcodes)
T = Tag 00 = no index register (e.g. IAR relative) T = Tag 00 = no index register (e.g. IAR relative)
01 = use index register 1 (e.g. core address 1 = M[1]) 01 = use index register 1 (e.g. core address 1 = M[1])
@ -153,9 +164,6 @@ static int simh_status_to_stopcode (int status);
/* hook pointers from scp.c */ /* hook pointers from scp.c */
void (*sim_vm_init) (void) = &sim_init; void (*sim_vm_init) (void) = &sim_init;
extern char* (*sim_vm_read) (char *ptr, int32 size, FILE *stream);
extern void (*sim_vm_post) (t_bool from_scp);
extern CTAB *sim_vm_cmd;
/* space to store extra simulator-specific commands */ /* space to store extra simulator-specific commands */
#define MAX_EXTRA_COMMANDS 10 #define MAX_EXTRA_COMMANDS 10
@ -222,7 +230,7 @@ t_stat cpu_set_type (UNIT *uptr, int32 value, char *cptr, void *desc);
void calc_ints (void); void calc_ints (void);
extern t_stat ts_wr (int32 data, int32 addr, int32 access); extern t_stat ts_wr (int32 data, int32 addr, int32 access);
extern UNIT cr_unit; extern UNIT cr_unit, prt_unit[];
#ifdef ENABLE_BACKTRACE #ifdef ENABLE_BACKTRACE
static void archive_backtrace(char *inst); static void archive_backtrace(char *inst);
@ -261,9 +269,15 @@ static void trace_instruction (void);
* ------------------------------------------------------------------------ */ * ------------------------------------------------------------------------ */
#define UNIT_MSIZE (1 << (UNIT_V_UF + 7)) /* flag for memory size setting */ #define UNIT_MSIZE (1 << (UNIT_V_UF + 7)) /* flag for memory size setting */
#define UNIT_1800 (1 << (UNIT_V_UF + 0)) /* flag for 1800 mode */ #define UNIT_1800 (1 << (UNIT_V_UF + 8)) /* flag for 1800 mode */
#define UNIT_TRACE (3 << (UNIT_V_UF + 9)) /* debugging tracing mode bits */
UNIT cpu_unit = { UDATA (&cpu_svc, UNIT_FIX | UNIT_BINK | UNIT_ATTABLE | UNIT_SEQ, INIMEMSIZE) }; #define UNIT_TRACE_NONE 0
#define UNIT_TRACE_IO (1 << (UNIT_V_UF+9))
#define UNIT_TRACE_INSTR (2 << (UNIT_V_UF+9))
#define UNIT_TRACE_BOTH (3 << (UNIT_V_UF+9))
UNIT cpu_unit = { UDATA (&cpu_svc, UNIT_FIX | UNIT_BINK | UNIT_ATTABLE | UNIT_SEQ | UNIT_TRACE_BOTH, INIMEMSIZE) };
REG cpu_reg[] = { REG cpu_reg[] = {
{ HRDATA (IAR, IAR, 32) }, { HRDATA (IAR, IAR, 32) },
@ -308,6 +322,10 @@ MTAB cpu_mod[] = {
{ UNIT_1800, 0, "1130", "1130", &cpu_set_type}, { UNIT_1800, 0, "1130", "1130", &cpu_set_type},
{ UNIT_1800, UNIT_1800, "1800", "1800", &cpu_set_type}, { UNIT_1800, UNIT_1800, "1800", "1800", &cpu_set_type},
#endif #endif
{ UNIT_TRACE, UNIT_TRACE_NONE, "notrace", "NOTRACE", NULL},
{ UNIT_TRACE, UNIT_TRACE_IO, "traceIO", "TRACEIO", NULL},
{ UNIT_TRACE, UNIT_TRACE_INSTR, "traceInstr", "TRACEINSTR", NULL},
{ UNIT_TRACE, UNIT_TRACE_BOTH, "traceBoth", "TRACEBOTH", NULL},
{ 0 } }; { 0 } };
DEVICE cpu_dev = { DEVICE cpu_dev = {
@ -433,7 +451,6 @@ void calc_ints (void)
* ------------------------------------------------------------------------ */ * ------------------------------------------------------------------------ */
#define INCREMENT_IAR IAR = (IAR + 1) & mem_mask #define INCREMENT_IAR IAR = (IAR + 1) & mem_mask
#define DECREMENT_IAR IAR = (IAR - 1) & mem_mask
void bail (char *msg) void bail (char *msg)
{ {
@ -441,36 +458,53 @@ void bail (char *msg)
exit(1); exit(1);
} }
static void weirdop (char *msg, int offset) static void weirdop (char *msg)
{ {
printf("Weird opcode: %s at %04x\n", msg, IAR+offset); printf("Weird opcode: %s at %04x\n", msg, IAR-1);
} }
static char *xio_devs[] = { static char *xio_devs[] = {
"0?", "console", "1142card", "1134papertape", "dev-00?", "console", "1442card", "1134ptape",
"dsk0", "1627plot", "1132print", "switches", "dsk0", "1627plot", "1132print", "switches",
"1231omr", "2501card", "comm", "b?", "1231omr", "2501card", "sca", "dev-0b?",
"sys7", "d?", "e?", "f?", "sys7", "dev-0d?", "dev-0e?", "dev-0f?",
"10?", "dsk1", "dsk2", "dsk3", "dev-10?", "dsk1", "dsk2", "dsk3",
"dsk4", "dsk5", "dsk6", "dsk7+", "dsk4", "1403prt", "dsk5", "2311drv2",
"18?", "2250disp", "2741attachment", "1b", "dev-18?", "2250disp", "2741term", "dev-1b",
"1c?", "1d?", "1e?", "1f?" "dev-1c?", "dev-1d?", "dev-1e?", "dev-1f?"
}; };
static char *xio_funcs[] = { static char *xio_funcs[] = {
"0?", "write", "read", "sense_irq", "func0?", "write", "read", "sense_irq",
"control", "initw", "initr", "sense" "control", "initw", "initr", "sense"
}; };
t_stat sim_instr (void) t_stat sim_instr (void)
{ {
int32 i, eaddr, INDIR, IR, F, DSPLC, word2, oldval, newval, src, src2, dst, abit, xbit; int32 i, eaddr, INDIR, IR, F, DSPLC, word2, oldval, newval, src, src2, dst, abit, xbit;
int32 iocc_addr, iocc_op, iocc_dev, iocc_func, iocc_mod; int32 iocc_addr, iocc_op, iocc_dev, iocc_func, iocc_mod, result;
char msg[50]; char msg[50];
int cwincount = 0, status; int cwincount = 0, status;
static long ninstr = 0; static long ninstr = 0;
static char *intlabel[] = {"INT0","INT1","INT2","INT3","INT4","INT5"}; static char *intlabel[] = {"INT0","INT1","INT2","INT3","INT4","INT5"};
/* the F bit indicates a two-word instruction for most instructions except the ones marked FALSE below */
static t_bool F_bit_used[] = { /* FALSE for those few instructions that don't have a long instr version */
/*undef XIO SLx SRx LDS STS WAIT undef */
FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE,
/*BSI BSC undef undef LDX STX MDX undef */
TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE,
/*A AD S SD M D CPU dependent */
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE,
/*LD LDD STO STD AND OR EOR undef */
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE
};
#ifdef ENABLE_1800_SUPPORT
F_bit_used[0x16] = is_1800; /* these two are defined and do have long versions on the 1800 */
F_bit_used[0x17] = is_1800; /* but are undefined on the 1130, so set these accordingly */
#endif
if (cgi) /* give CGI hook function a chance to do something */ if (cgi) /* give CGI hook function a chance to do something */
cgi_start(); cgi_start();
@ -581,7 +615,7 @@ t_stat sim_instr (void)
} }
ninstr++; ninstr++;
if (cpu_unit.flags & UNIT_ATT) if ((cpu_unit.flags & (UNIT_ATT|UNIT_TRACE_INSTR)) == (UNIT_ATT|UNIT_TRACE_INSTR))
trace_instruction(); /* log CPU details if logging is enabled */ trace_instruction(); /* log CPU details if logging is enabled */
prev_IAR = IAR; /* save IAR before incrementing it */ prev_IAR = IAR; /* save IAR before incrementing it */
@ -598,7 +632,7 @@ t_stat sim_instr (void)
/* here I compute the usual effective address on the assumption that the instruction will need it. Some don't. */ /* here I compute the usual effective address on the assumption that the instruction will need it. Some don't. */
if (F) { /* long instruction, ASSUME it's valid (have to decrement IAR if not) */ if (F && F_bit_used[OP]) { /* long instruction, except for a few that don't have a long mode, like WAIT */
INDIR = IR & 0x0080; /* indirect bit */ INDIR = IR & 0x0080; /* indirect bit */
DSPLC = IR & 0x007F; /* displacement or modifier */ DSPLC = IR & 0x007F; /* displacement or modifier */
if (DSPLC & 0x0040) if (DSPLC & 0x0040)
@ -612,6 +646,8 @@ t_stat sim_instr (void)
eaddr += ReadIndex(TAG); /* add index register value */ eaddr += ReadIndex(TAG); /* add index register value */
if (INDIR) /* if indirect addressing */ if (INDIR) /* if indirect addressing */
eaddr = ReadW(eaddr); /* pick up referenced address */ eaddr = ReadW(eaddr); /* pick up referenced address */
/* to do: the previous steps may lead to incorrect GUI SAR/SBR display if the instruction doesn't actually fetch anything. Check this. */
} }
else { /* short instruction, use displacement */ else { /* short instruction, use displacement */
INDIR = 0; /* never indirect */ INDIR = 0; /* never indirect */
@ -623,6 +659,8 @@ t_stat sim_instr (void)
eaddr = ReadIndex(TAG) + DSPLC; /* add index register value */ eaddr = ReadIndex(TAG) + DSPLC; /* add index register value */
else else
eaddr = IAR + DSPLC; /* otherwise relative to IAR after fetch */ eaddr = IAR + DSPLC; /* otherwise relative to IAR after fetch */
/* to do: the previous steps may lead to incorrect GUI SAR/SBR display if the instruction doesn't actually fetch the index value. Check this. */
} }
switch (OP) { /* decode instruction */ switch (OP) { /* decode instruction */
@ -634,16 +672,14 @@ t_stat sim_instr (void)
iocc_func = (iocc_op >> 8) & 0x0007; iocc_func = (iocc_op >> 8) & 0x0007;
iocc_mod = iocc_op & 0x00FF; iocc_mod = iocc_op & 0x00FF;
if (cpu_unit.flags & UNIT_ATT) if ((cpu_unit.flags & (UNIT_ATT|UNIT_TRACE_IO)) == (UNIT_ATT|UNIT_TRACE_IO))
trace_io("* XIO %s %s mod %02x addr %04x", xio_funcs[iocc_func], xio_devs[iocc_dev], iocc_mod, iocc_addr); trace_io("* XIO %s %s mod %02x addr %04x", xio_funcs[iocc_func], (iocc_func == XIO_SENSE_IRQ) ? "-" : xio_devs[iocc_dev], iocc_mod, iocc_addr);
/* fprintf(stderr, "* XIO %s %s mod %02x addr %04x\n", xio_funcs[iocc_func], xio_devs[iocc_dev], iocc_mod, iocc_addr); */
ACC = 0; /* ACC is destroyed, and default XIO_SENSE_DEV result is 0 */ ACC = 0; /* ACC is destroyed, and default XIO_SENSE_DEV result is 0 */
switch (iocc_func) { switch (iocc_func) {
case XIO_UNUSED: case XIO_UNUSED:
sprintf(msg, "Unknown op %x on device %02x", iocc_func, iocc_dev); sprintf(msg, "Unknown XIO op %x on device %02x (%s)", iocc_func, iocc_dev, xio_devs[iocc_dev]);
xio_error(msg); xio_error(msg);
break; break;
@ -656,8 +692,8 @@ t_stat sim_instr (void)
case 0x01: /* console keyboard and printer */ case 0x01: /* console keyboard and printer */
xio_1131_console(iocc_addr, iocc_func, iocc_mod); xio_1131_console(iocc_addr, iocc_func, iocc_mod);
break; break;
case 0x02: /* 1142 card reader/punch */ case 0x02: /* 1442 card reader/punch */
xio_1142_card(iocc_addr, iocc_func, iocc_mod); xio_1442_card(iocc_addr, iocc_func, iocc_mod);
break; break;
case 0x03: /* 1134 paper tape reader/punch */ case 0x03: /* 1134 paper tape reader/punch */
xio_1134_papertape(iocc_addr, iocc_func, iocc_mod); xio_1134_papertape(iocc_addr, iocc_func, iocc_mod);
@ -724,10 +760,8 @@ t_stat sim_instr (void)
break; break;
case 0x02: /* --- SLA,SLT,SLC,SLCA,NOP - Shift Left family --- */ case 0x02: /* --- SLA,SLT,SLC,SLCA,NOP - Shift Left family --- */
if (F) { if (F)
weirdop("Long Left Shift", -2); weirdop("Long Left Shift");
DECREMENT_IAR;
}
CCC = ((TAG == 0) ? DSPLC : ReadIndex(TAG)) & 0x003F; CCC = ((TAG == 0) ? DSPLC : ReadIndex(TAG)) & 0x003F;
ARFSET(CCC); ARFSET(CCC);
@ -764,7 +798,7 @@ t_stat sim_instr (void)
CCC--; CCC--;
} }
C = (CCC != 0); C = (CCC != 0);
WriteIndex(TAG, (ReadIndex(TAG) & 0xFF00) | CCC); /* put 6 bits back into low byte of index register */ WriteIndex(TAG, ReadIndex(TAG) & 0xFF00 | CCC); /* put 6 bits back into low byte of index register */
break; break;
} }
/* if TAG == 0, fall through and treat like normal shift SLT */ /* if TAG == 0, fall through and treat like normal shift SLT */
@ -786,10 +820,8 @@ t_stat sim_instr (void)
break; break;
case 0x03: /* --- SRA, SRT, RTE - Shift Right family --- */ case 0x03: /* --- SRA, SRT, RTE - Shift Right family --- */
if (F) { if (F)
weirdop("Long Right Shift", -2); weirdop("Long Right Shift");
DECREMENT_IAR;
}
CCC = ((TAG == 0) ? DSPLC : ReadIndex(TAG)) & 0x3F; CCC = ((TAG == 0) ? DSPLC : ReadIndex(TAG)) & 0x3F;
ARFSET(CCC); ARFSET(CCC);
@ -810,8 +842,8 @@ t_stat sim_instr (void)
while (CCC > 0) { while (CCC > 0) {
xbit = (ACC & 0x0001) << 15; xbit = (ACC & 0x0001) << 15;
abit = (ACC & 0x8000); abit = (ACC & 0x8000);
ACC = ((ACC >> 1) & 0x7FFF) | abit; ACC = (ACC >> 1) & 0x7FFF | abit;
EXT = ((EXT >> 1) & 0x7FFF) | xbit; EXT = (EXT >> 1) & 0x7FFF | xbit;
CCC--; CCC--;
} }
break; break;
@ -820,8 +852,8 @@ t_stat sim_instr (void)
while (CCC > 0) { while (CCC > 0) {
abit = (EXT & 0x0001) << 15; abit = (EXT & 0x0001) << 15;
xbit = (ACC & 0x0001) << 15; xbit = (ACC & 0x0001) << 15;
ACC = ((ACC >> 1) & 0x7FFF) | abit; ACC = (ACC >> 1) & 0x7FFF | abit;
EXT = ((EXT >> 1) & 0x7FFF) | xbit; EXT = (EXT >> 1) & 0x7FFF | xbit;
CCC--; CCC--;
} }
break; break;
@ -833,10 +865,8 @@ t_stat sim_instr (void)
break; break;
case 0x04: /* --- LDS - Load Status --- */ case 0x04: /* --- LDS - Load Status --- */
if (F) { /* never fetches second word? */ if (F) /* never fetches second word? */
weirdop("Long LDS", -2); weirdop("Long LDS");
DECREMENT_IAR;
}
V = (DSPLC & 1); V = (DSPLC & 1);
C = (DSPLC & 2) >> 1; C = (DSPLC & 2) >> 1;
@ -854,11 +884,15 @@ t_stat sim_instr (void)
break; break;
case 0x06: /* --- WAIT --- */ case 0x06: /* --- WAIT --- */
/* I am no longer doing the fetch if a long wait is encountered
* The 1130 diagnostics use WAIT instructions with the F bit set in some display error codes.
* (The wait instruction's opcode is displayed in the Storage Buffer Register on the console display,
* since the last thing fetched was the instruction)
*/
wait_state = WAIT_OP; wait_state = WAIT_OP;
if (F) { /* what happens if we use long format? */
weirdop("Long WAIT", -2); SAR = prev_IAR; /* this is a hack; ensure that the SAR/SBR display shows the WAIT instruction fetch */
DECREMENT_IAR; /* assume it wouldn't have fetched 2nd word? */ SBR = IR;
}
break; break;
case 0x08: /* --- BSI - Branch and store IAR --- */ case 0x08: /* --- BSI - Branch and store IAR --- */
@ -1023,10 +1057,20 @@ t_stat sim_instr (void)
ARFSET(src2); ARFSET(src2);
if (src2 == 0) /* 24-Mar-11 - Failed IBM diagnostics because I was not checking for overflow here. Fixed.
* Have to check for special case of -maxint / -1 because Windows (at least) generates an exception
*/
if (src2 == 0) {
V = 1; /* divide by zero just sets overflow, ACC & EXT are undefined */ V = 1; /* divide by zero just sets overflow, ACC & EXT are undefined */
}
else if (src2 == -1 && src == 0x80000000) {
V = 1; /* another special case: max negative int / -1 also overflows */
}
else { else {
ACC = (src / src2) & 0xFFFF; result = src / src2; /* compute dividend */
if ((result > 32767) || (result < -32768))
V = 1; /* if result does not fit into 16 bits, we have an overflow */
ACC = result & 0xFFFF;
EXT = (src % src2) & 0xFFFF; EXT = (src % src2) & 0xFFFF;
} }
break; break;
@ -1105,13 +1149,11 @@ t_stat sim_instr (void)
/* case 0x07: */ /* case 0x07: */
/* case 0x0a: */ /* case 0x0a: */
/* case 0x0b: */ /* case 0x0b: */
/* case 0x0e: */
/* case 0x0f: */ /* case 0x0f: */
/* case 0x1f: */ /* case 0x1f: */
wait_state = WAIT_INVALID_OP; wait_state = WAIT_INVALID_OP;
if (F) SAR = prev_IAR; /* this is a hack; ensure that the SAR/SBR display shows the WAIT instruction fetch */
DECREMENT_IAR; /* assume it wouldn't have fetched 2nd word? */ SBR = IR;
break; break;
} /* end instruction decode switch */ } /* end instruction decode switch */
@ -1164,6 +1206,7 @@ static int simh_status_to_stopcode (int status)
* bsctest - perform standard set of condition tests. We return TRUE if any * bsctest - perform standard set of condition tests. We return TRUE if any
* of the condition bits specified in DSPLC test positive, FALSE if none are true. * of the condition bits specified in DSPLC test positive, FALSE if none are true.
* If reset_V is TRUE, we reset the oVerflow flag after testing it. * If reset_V is TRUE, we reset the oVerflow flag after testing it.
* 24-Mar-11: no, we reset the oVerflow flag no matter what reset_V is
* ------------------------------------------------------------------------ */ * ------------------------------------------------------------------------ */
static t_bool bsctest (int32 DSPLC, t_bool reset_V) static t_bool bsctest (int32 DSPLC, t_bool reset_V)
@ -1171,7 +1214,8 @@ static t_bool bsctest (int32 DSPLC, t_bool reset_V)
if (DSPLC & 0x01) { /* Overflow off (note inverted sense) */ if (DSPLC & 0x01) { /* Overflow off (note inverted sense) */
if (! V) if (! V)
return TRUE; return TRUE;
else if (reset_V) /* reset after testing */ // 24-Mar-11 - V is always reset when tested, in both the long and short forms of the instructions
// else if (reset_V) /* reset after testing */
V = 0; V = 0;
} }
@ -1253,7 +1297,7 @@ t_stat cpu_reset (DEVICE *dptr)
wait_state = 0; /* cancel wait */ wait_state = 0; /* cancel wait */
wait_lamp = TRUE; /* but keep the wait lamp lit on the GUI */ wait_lamp = TRUE; /* but keep the wait lamp lit on the GUI */
if (cpu_unit.flags & UNIT_ATT) { /* record reset in CPU log */ if ((cpu_unit.flags & (UNIT_ATT|UNIT_TRACE_INSTR)) == (UNIT_ATT|UNIT_TRACE_INSTR)) { /* record reset in CPU log */
fseek(cpu_unit.fileref, 0, SEEK_END); fseek(cpu_unit.fileref, 0, SEEK_END);
fprintf(cpu_unit.fileref, "---RESET---" CRLF); fprintf(cpu_unit.fileref, "---RESET---" CRLF);
} }
@ -1451,7 +1495,7 @@ t_stat register_cmd (char *name, t_stat (*action)(int32 flag, char *ptr), int ar
* echo_cmd - just echo the command line * echo_cmd - just echo the command line
* ------------------------------------------------------------------------ */ * ------------------------------------------------------------------------ */
static t_stat echo_cmd (int flag, char *cptr) static t_stat echo_cmd (int32 flag, char *cptr)
{ {
printf("%s\n", cptr); printf("%s\n", cptr);
return SCPE_OK; return SCPE_OK;
@ -1794,6 +1838,11 @@ static void trace_instruction (void)
fputs(CRLF, cpu_unit.fileref); fputs(CRLF, cpu_unit.fileref);
} }
static void trace_common (FILE *fout)
{
fprintf(fout, "[IAR %04x IPL %c] ", IAR, (ipl < 0) ? ' ' : ('0' + ipl));
}
void trace_io (char *fmt, ...) void trace_io (char *fmt, ...)
{ {
va_list args; va_list args;
@ -1801,6 +1850,7 @@ void trace_io (char *fmt, ...)
if ((cpu_unit.flags & UNIT_ATT) == 0) if ((cpu_unit.flags & UNIT_ATT) == 0)
return; return;
trace_common(cpu_unit.fileref);
va_start(args, fmt); /* get pointer to argument list */ va_start(args, fmt); /* get pointer to argument list */
vfprintf(cpu_unit.fileref, fmt, args); /* write errors to cpu log file */ vfprintf(cpu_unit.fileref, fmt, args); /* write errors to cpu log file */
va_end(args); va_end(args);
@ -1813,12 +1863,14 @@ void trace_both (char *fmt, ...)
va_list args; va_list args;
if (cpu_unit.flags & UNIT_ATT) { if (cpu_unit.flags & UNIT_ATT) {
trace_common(cpu_unit.fileref);
va_start(args, fmt); /* get pointer to argument list */ va_start(args, fmt); /* get pointer to argument list */
vfprintf(cpu_unit.fileref, fmt, args); vfprintf(cpu_unit.fileref, fmt, args);
va_end(args); va_end(args);
fputs(CRLF, cpu_unit.fileref); fputs(CRLF, cpu_unit.fileref);
} }
trace_common(stdout);
va_start(args, fmt); /* get pointer to argument list */ va_start(args, fmt); /* get pointer to argument list */
vfprintf(stdout, fmt, args); vfprintf(stdout, fmt, args);
va_end(args); va_end(args);
@ -1830,17 +1882,32 @@ void trace_both (char *fmt, ...)
void debug_print (char *fmt, ...) void debug_print (char *fmt, ...)
{ {
va_list args; va_list args;
FILE *fout = stdout;
t_bool binarymode = FALSE;
#define DEBUG_TO_PRINTER
#ifdef DEBUG_TO_PRINTER
if (prt_unit[0].fileref != NULL) { /* THIS IS TEMPORARY */
fout = prt_unit[0].fileref;
binarymode = TRUE;
}
#endif
va_start(args, fmt); va_start(args, fmt);
vprintf(fmt, args); vfprintf(fout, fmt, args);
if (cpu_unit.flags & UNIT_ATT) if (cpu_unit.flags & UNIT_ATT)
vfprintf(cpu_unit.fileref, fmt, args); vfprintf(cpu_unit.fileref, fmt, args);
va_end(args); va_end(args);
if (strchr(fmt, '\n') == NULL) { /* be sure to emit a newline */ if (strchr(fmt, '\n') == NULL) { /* be sure to emit a newline */
putchar('\n'); if (binarymode)
fputs(CRLF, fout);
else
putc('\n', fout);
if (cpu_unit.flags & UNIT_ATT) if (cpu_unit.flags & UNIT_ATT)
putc('\n', cpu_unit.fileref); fputs(CRLF, cpu_unit.fileref);
} }
} }

View file

@ -1,5 +1,6 @@
#include "ibm1130_defs.h" #include "ibm1130_defs.h"
#include "ibm1130_fmt.h" #include "ibm1130_fmt.h"
#include <ctype.h>
#ifdef _WIN32 #ifdef _WIN32
# include <io.h> /* Microsoft puts definition of mktemp into io.h rather than stdlib.h */ # include <io.h> /* Microsoft puts definition of mktemp into io.h rather than stdlib.h */
@ -18,6 +19,16 @@
* This is not a supported product, but I welcome bug reports and fixes. * This is not a supported product, but I welcome bug reports and fixes.
* Mail to simh@ibm1130.org * Mail to simh@ibm1130.org
* Update 2012-10-12 Added ability to specify tab expansion width in deck files
* Update 2008-11-24 Made card reader attach always use read-only mode, so if file does not exist
it will not be created as an empty file. Fixed bug in BOOT CR (cold start from card)
that resulted in seeing cold card data again when next card was read. (This caused
the DMS load deck to fail, for instance).
* Update 2007-05-01 Changed name of function xio_1142_card to xio_1442_card.
Took six years to notice the mistake.
* Update 2006-01-23 More fixes, in call to mktemp and in 2501 support, also thanks * Update 2006-01-23 More fixes, in call to mktemp and in 2501 support, also thanks
to Carl Claunch. to Carl Claunch.
@ -63,7 +74,7 @@
-q quiet mode, the simulator will not print the name of each file it opens -q quiet mode, the simulator will not print the name of each file it opens
while processing deck files (which are discussed below). For example, while processing deck files (which are discussed below). For example,
ATTACH -q @deckfile ATTACH CR -q @deckfile
-l makes the simulator convert lower case letters in text decks -l makes the simulator convert lower case letters in text decks
to the IBM lower-case Hollerith character codes. Normally, the simulator to the IBM lower-case Hollerith character codes. Normally, the simulator
@ -75,11 +86,15 @@
-f converts tabs in an ascii file to spaces according to Fortran column conventions -f converts tabs in an ascii file to spaces according to Fortran column conventions
-a converts tabs in an ascii file to spaces according to 1130 Assembler column conventions -a converts tabs in an ascii file to spaces according to 1130 Assembler column conventions
-t converts tabs in an ascii file to spaces, with tab settings every 8 columns -t converts tabs in an ascii file to spaces, with tab settings every 8 columns
-# converts tabs in an ascii file to spaces, with tab settings every # columns
(See below for a discussion of tab formatting) (See below for a discussion of tab formatting)
-p means that filename is a COM port connected to a physical card reader using -p means that filename is a COM port connected to a physical card reader using
the CARDREAD interface (see http://ibm1130.org/sim/downloads) the CARDREAD interface (see http://ibm1130.org/sim/downloads)
NOTE: for the Card Reader (CR), the -r (readonly) switch is implied. If the file does
not exist, it will NOT be created.
The ATTACH CP command accepts the -d switch. The ATTACH CP command accepts the -d switch.
* Deck lists * Deck lists
@ -95,7 +110,7 @@
arguments to ibm1130, or to the "do" command if a "do" script is executing, if the arguments to ibm1130, or to the "do" command if a "do" script is executing, if the
attach command is constructed this way: attach command is constructed this way:
attach @deckfile %1 %2 %3 attach CR @deckfile %1 %2 %3
This will pass the ibm1130 or do script arguments to attach, which will make This will pass the ibm1130 or do script arguments to attach, which will make
them available in the deckfile. Then, for instance the line them available in the deckfile. Then, for instance the line
@ -114,6 +129,7 @@
af forces 029 ascii conversion, and interprets tabs in Fortran mode af forces 029 ascii conversion, and interprets tabs in Fortran mode
aa forces 029 ascii conversion, and interprets tabs in 1130 Assembler mode aa forces 029 ascii conversion, and interprets tabs in 1130 Assembler mode
at forces 029 ascii conversion, and interprets tabs with settings every 8 spaces at forces 029 ascii conversion, and interprets tabs with settings every 8 spaces
a# forces 029 ascii conversion, and interprets tabs with settings every # spaces
If "a" or "b" mode is not specified, the device mode setting is used. In this case, If "a" or "b" mode is not specified, the device mode setting is used. In this case,
if the mode is "auto", the simulator will select binary or 029 by inspecting each if the mode is "auto", the simulator will select binary or 029 by inspecting each
@ -644,10 +660,12 @@ static CPCODE cardcode_026F[] = /* 026 fortran */
0x0220, '\'', 0x0220, '\'',
0x8420, '.', 0x8420, '.',
0x8220, ')', 0x8220, ')',
0x8220, '<', /* if ASCII has <, treat like ) */
0x4420, '$', 0x4420, '$',
0x4220, '*', 0x4220, '*',
0x2420, ',', 0x2420, ',',
0x2220, '(', 0x2220, '(',
0x2220, '%', /* if ASCII has %, treat like ) */
}; };
static CPCODE cardcode_026C[] = /* 026 commercial */ static CPCODE cardcode_026C[] = /* 026 commercial */
@ -695,11 +713,13 @@ static CPCODE cardcode_026C[] = /* 026 commercial */
0x0420, '=', 0x0420, '=',
0x0220, '\'', 0x0220, '\'',
0x8420, '.', 0x8420, '.',
0x8220, ')', 0x8220, '<',
0x8220, ')', /* if ASCII has ), treat like < */
0x4420, '$', 0x4420, '$',
0x4220, '*', 0x4220, '*',
0x2420, ',', 0x2420, ',',
0x2220, '(', 0x2220, '%',
0x2220, '(', /* if ASCII has (, treat like % */
}; };
extern int cgi; extern int cgi;
@ -717,7 +737,8 @@ static int any_punched = 0;
#define MAXARGS 10 /* max number of arguments to save */ #define MAXARGS 10 /* max number of arguments to save */
static char list_save[MAXARGS][MAXARGLEN], *list_arg[MAXARGLEN]; static char list_save[MAXARGS][MAXARGLEN], *list_arg[MAXARGLEN];
static int list_nargs = 0; static int list_nargs = 0;
static char* (*tab_proc)(char*) = NULL; /* tab reformatting routine */ static char* (*tab_proc)(char* str, int width) = NULL; /* tab reformatting routine */
static int tab_width = 8;
static uint16 punchstation[80]; static uint16 punchstation[80];
static uint16 readstation[80]; static uint16 readstation[80];
@ -776,10 +797,12 @@ t_stat set_active_cr_code (int match)
if (! lookup_codetable(match, &code, &ncode)) if (! lookup_codetable(match, &code, &ncode))
return SCPE_ARG; return SCPE_ARG;
if (code != NULL) { /* if an ASCII mode was selected */
memset(ascii_to_card, 0, sizeof(ascii_to_card)); memset(ascii_to_card, 0, sizeof(ascii_to_card));
for (i = 0; i < ncode; i++) /* set ascii to card code table */ for (i = 0; i < ncode; i++) /* set ascii to card code table */
ascii_to_card[code[i].ascii] = code[i].hollerith; ascii_to_card[code[i].ascii] = code[i].hollerith;
}
return SCPE_OK; return SCPE_OK;
} }
@ -938,19 +961,19 @@ t_stat load_cr_boot (int drvno, int switches)
} }
/* quiet switch or CGI mode inhibit the boot remark */ /* quiet switch or CGI mode inhibit the boot remark */
if (((switches & SWMASK('Q')) == 0) && ! cgi) { /* 3.0-3, parenthesized & operation, per lint check */ if (((switches & SWMASK('Q')) == 0) && ! cgi) { /* 3.0-3, parenthesized & operation, per lint check */
sprintf(msg, "Loaded %s cold start card\n", name); sprintf(msg, "Loaded %s cold start card", name);
#ifdef GUI_SUPPORT #ifdef GUI_SUPPORT
remark_cmd(msg); remark_cmd(msg);
#else #else
printf("%s", msg); printf("%s\n", msg);
#endif #endif
} }
return SCPE_OK; return SCPE_OK;
} }
t_stat cr_boot (int32 unitno, DEVICE *dptr) t_stat cr_boot (int unitno, DEVICE *dptr)
{ {
t_stat rval; t_stat rval;
int i; int i;
@ -962,7 +985,7 @@ t_stat cr_boot (int32 unitno, DEVICE *dptr)
return load_cr_boot(-1, 0); return load_cr_boot(-1, 0);
if (GET_ACTCODE(cr_unit) != CODE_BINARY) { if (GET_ACTCODE(cr_unit) != CODE_BINARY) {
printf("Can only boot from card reader when set to BINARY mode"); printf("Can only boot from card reader when set to BINARY mode\n");
return SCPE_IOERR; return SCPE_IOERR;
} }
@ -971,6 +994,11 @@ t_stat cr_boot (int32 unitno, DEVICE *dptr)
feedcycle(TRUE, FALSE); feedcycle(TRUE, FALSE);
if (readstate != STATION_LOADED) {
printf("No cards in reader\n");
return SCPE_IOERR;
}
/* if (fxread(buf, sizeof(buf[0]), 80, cr_unit.fileref) != 80) */ /* if (fxread(buf, sizeof(buf[0]), 80, cr_unit.fileref) != 80) */
/* return SCPE_IOERR; */ /* return SCPE_IOERR; */
@ -979,6 +1007,7 @@ t_stat cr_boot (int32 unitno, DEVICE *dptr)
for (i = 0; i < 80; i++) /* shift 12 bits into 16 */ for (i = 0; i < 80; i++) /* shift 12 bits into 16 */
WriteW(i, (readstation[i] & 0xF800) | ((readstation[i] & 0x0400) ? 0x00C0 : 0x0000) | ((readstation[i] & 0x03F0) >> 4)); WriteW(i, (readstation[i] & 0xF800) | ((readstation[i] & 0x0400) ? 0x00C0 : 0x0000) | ((readstation[i] & 0x03F0) >> 4));
readstate = STATION_READ; /* the current card has been consumed */
return SCPE_OK; return SCPE_OK;
} }
@ -1110,7 +1139,7 @@ again: /* jump here if we've loaded a new deck after emptying the previous one
if (tab_proc != NULL) { /* apply tab editing, if specified */ if (tab_proc != NULL) { /* apply tab editing, if specified */
buf[nread] = '\0'; /* .. be sure string is terminated */ buf[nread] = '\0'; /* .. be sure string is terminated */
result = (*tab_proc)(buf); /* .. convert tabs spaces */ result = (*tab_proc)(buf, tab_width); /* .. convert tabs spaces */
nread = strlen(result); /* .. set new read length */ nread = strlen(result); /* .. set new read length */
} }
else else
@ -1247,7 +1276,7 @@ static void checkdeck (void)
static t_bool nextdeck (void) static t_bool nextdeck (void)
{ {
char buf[200], tmpbuf[200], *fname, *c, quote, *mode; char buf[200], tmpbuf[200], *fname, *c, quote;
int code; int code;
long fpos; long fpos;
@ -1271,6 +1300,7 @@ static t_bool nextdeck (void)
for (;;) { /* get a filename */ for (;;) { /* get a filename */
tab_proc = NULL; /* default: no tab editing */ tab_proc = NULL; /* default: no tab editing */
tab_width = 8;
if (fgets(buf, sizeof(buf), deckfile) == NULL) if (fgets(buf, sizeof(buf), deckfile) == NULL)
break; /* oops, no more names */ break; /* oops, no more names */
@ -1391,7 +1421,7 @@ static t_bool nextdeck (void)
continue; continue;
} }
mode = c = skipbl(c); /* skip to next token, which would be mode, if present */ c = skipbl(c); /* skip to next token, which would be mode, if present */
switch (*c) { switch (*c) {
case 'b': case 'b':
@ -1422,6 +1452,13 @@ static t_bool nextdeck (void)
case 'T': case 'T':
tab_proc = EditToWhitespace; tab_proc = EditToWhitespace;
c++; c++;
tab_width = 0; /* see if there is a digit after the 4 -- if so use it as tab expansion width */
while (isdigit(*c))
tab_width = tab_width*10 + *c++ - '0';
if (tab_width == 0)
tab_width = 8;
break; break;
} }
} }
@ -1430,10 +1467,10 @@ static t_bool nextdeck (void)
code = guess_cr_code(); code = guess_cr_code();
if (cpu_unit.flags & UNIT_ATT) if (cpu_unit.flags & UNIT_ATT)
trace_io("(Opened %s deck %s%s)\n", (code == CODE_BINARY) ? "binary" : "text", fname, tab_proc ? (*tab_proc)(NULL) : ""); trace_io("(Opened %s deck %s%s)\n", (code == CODE_BINARY) ? "binary" : "text", fname, tab_proc ? (*tab_proc)(NULL, tab_width) : "");
if (! (cr_unit.flags & UNIT_QUIET)) if (! (cr_unit.flags & UNIT_QUIET))
printf( "(Opened %s deck %s%s)\n", (code == CODE_BINARY) ? "binary" : "text", fname, tab_proc ? (*tab_proc)(NULL) : ""); printf( "(Opened %s deck %s%s)\n", (code == CODE_BINARY) ? "binary" : "text", fname, tab_proc ? (*tab_proc)(NULL, tab_width) : "");
break; break;
} }
@ -1510,7 +1547,7 @@ t_stat cr_rewind (void)
static t_stat cr_attach (UNIT *uptr, char *cptr) static t_stat cr_attach (UNIT *uptr, char *cptr)
{ {
t_stat rval; t_stat rval;
t_bool use_decklist; t_bool use_decklist, old_quiet;
char *c, *arg, quote; char *c, *arg, quote;
cr_detach(uptr); /* detach file and possibly deck file */ cr_detach(uptr); /* detach file and possibly deck file */
@ -1518,8 +1555,11 @@ static t_stat cr_attach (UNIT *uptr, char *cptr)
CLRBIT(uptr->flags, UNIT_SCRATCH|UNIT_QUIET|UNIT_DEBUG|UNIT_PHYSICAL|UNIT_LOWERCASE); /* set options */ CLRBIT(uptr->flags, UNIT_SCRATCH|UNIT_QUIET|UNIT_DEBUG|UNIT_PHYSICAL|UNIT_LOWERCASE); /* set options */
tab_proc = NULL; tab_proc = NULL;
tab_width = 8;
use_decklist = FALSE; use_decklist = FALSE;
sim_switches |= SWMASK('R'); // the card reader is readonly. Don't create an empty file if file does not exist
if (sim_switches & SWMASK('D')) SETBIT(uptr->flags, UNIT_DEBUG); if (sim_switches & SWMASK('D')) SETBIT(uptr->flags, UNIT_DEBUG);
if (sim_switches & SWMASK('Q')) SETBIT(uptr->flags, UNIT_QUIET); if (sim_switches & SWMASK('Q')) SETBIT(uptr->flags, UNIT_QUIET);
if (sim_switches & SWMASK('L')) SETBIT(uptr->flags, UNIT_LOWERCASE); if (sim_switches & SWMASK('L')) SETBIT(uptr->flags, UNIT_LOWERCASE);
@ -1589,7 +1629,13 @@ static t_stat cr_attach (UNIT *uptr, char *cptr)
SETBIT(uptr->flags, UNIT_ATT); SETBIT(uptr->flags, UNIT_ATT);
uptr->pos = 0; uptr->pos = 0;
} }
else if ((rval = attach_unit(uptr, cptr)) != SCPE_OK) { else {
old_quiet = sim_quiet; /* attach the file, but set sim_quiet so we don't get the "CR is read-only" message */
sim_quiet = TRUE;
rval = attach_unit(uptr, cptr);
sim_quiet = old_quiet;
if (rval != SCPE_OK) /* file did not exist */
return rval; return rval;
} }
@ -1667,10 +1713,10 @@ static t_stat cp_detach (UNIT *uptr)
return detach_unit(uptr); return detach_unit(uptr);
} }
static void op_done (UNIT *u, t_bool issue_intr) static void op_done (UNIT *u, char *opname, t_bool issue_intr)
{ {
if (u->flags & UNIT_DEBUG) if (u->flags & UNIT_DEBUG)
DEBUG_PRINT("!CR Op Complete, card %d", cr_count); DEBUG_PRINT("!CR %s Op Complete, card %d%s", opname, cr_count, issue_intr ? ", interrupt" : "");
SET_OP(OP_IDLE); SET_OP(OP_IDLE);
@ -1704,7 +1750,7 @@ static t_stat cr_svc (UNIT *uptr)
break; break;
case OP_FEEDING: case OP_FEEDING:
op_done(&cr_unit, FALSE); op_done(&cr_unit, "feed", FALSE);
break; break;
case OP_READING: case OP_READING:
@ -1718,10 +1764,7 @@ static t_stat cr_svc (UNIT *uptr)
M[(cr_addr + i) & mem_mask] = readstation[i]; M[(cr_addr + i) & mem_mask] = readstation[i];
readstate = STATION_READ; readstate = STATION_READ;
if (cr_unit.flags & UNIT_DEBUG) op_done(&cr_unit, "read", TRUE);
DEBUG_PRINT("!CR Op Complete, card %d", cr_count);
op_done(&cr_unit, TRUE);
} }
else if (++cr_unit.COLUMN < 80) { /* 1442 interrupts on each column... */ else if (++cr_unit.COLUMN < 80) { /* 1442 interrupts on each column... */
SETBIT(cr_dsw, CR_DSW_1442_READ_RESPONSE); SETBIT(cr_dsw, CR_DSW_1442_READ_RESPONSE);
@ -1733,7 +1776,7 @@ static t_stat cr_svc (UNIT *uptr)
} }
else { /* ... then issues op-complete */ else { /* ... then issues op-complete */
readstate = STATION_READ; readstate = STATION_READ;
op_done(&cr_unit, TRUE); op_done(&cr_unit, "read", TRUE);
} }
break; break;
@ -1745,7 +1788,7 @@ static t_stat cr_svc (UNIT *uptr)
if (cp_unit.flags & UNIT_LASTPUNCH) { if (cp_unit.flags & UNIT_LASTPUNCH) {
punchstate = STATION_PUNCHED; punchstate = STATION_PUNCHED;
op_done(&cp_unit, TRUE); op_done(&cp_unit, "punch", TRUE);
} }
else if (++cp_unit.COLUMN < 80) { else if (++cp_unit.COLUMN < 80) {
SETBIT(cr_dsw, CR_DSW_1442_PUNCH_RESPONSE); SETBIT(cr_dsw, CR_DSW_1442_PUNCH_RESPONSE);
@ -1757,7 +1800,7 @@ static t_stat cr_svc (UNIT *uptr)
} }
else { else {
punchstate = STATION_PUNCHED; punchstate = STATION_PUNCHED;
op_done(&cp_unit, TRUE); op_done(&cp_unit, "punch", TRUE);
} }
break; break;
} }
@ -1853,7 +1896,7 @@ void xio_2501_card (int32 addr, int32 func, int32 modify)
} }
} }
void xio_1142_card (int32 addr, int32 func, int32 modify) void xio_1442_card (int32 addr, int32 func, int32 modify)
{ {
char msg[80]; char msg[80];
int ch; int ch;
@ -2579,8 +2622,7 @@ static t_stat pcr_svc (UNIT *uptr)
break; break;
case OP_READING: case OP_READING:
if (pcr_nready >= 2) { /* if there is a whole column buffered, simulate column interrupt*/ if (pcr_nready >= 2) { /* if there is a whole column buffered, simulate column interrupt/* pcr_trigger_interrupt_0 - simulate a read response interrupt so OS will read queued column data */
/* pcr_trigger_interrupt_0 - simulate a read response interrupt so OS will read queued column data */
pcr_trigger_interrupt_0(); pcr_trigger_interrupt_0();
sim_activate(&cr_unit, cr_wait); /* keep checking frequently */ sim_activate(&cr_unit, cr_wait); /* keep checking frequently */
@ -2588,7 +2630,7 @@ static t_stat pcr_svc (UNIT *uptr)
else if (pcr_done) { else if (pcr_done) {
pcr_done = FALSE; pcr_done = FALSE;
cr_count++; cr_count++;
op_done(&cr_unit, TRUE); op_done(&cr_unit, "pcr read", TRUE);
pcr_set_dsw_from_status(TRUE); pcr_set_dsw_from_status(TRUE);
} }
else else
@ -2598,7 +2640,7 @@ static t_stat pcr_svc (UNIT *uptr)
case OP_FEEDING: case OP_FEEDING:
if (pcr_done) { if (pcr_done) {
cr_count++; cr_count++;
op_done(&cr_unit, FALSE); op_done(&cr_unit, "pcr feed", FALSE);
pcr_set_dsw_from_status(TRUE); pcr_set_dsw_from_status(TRUE);
} }
else else

View file

@ -137,6 +137,7 @@ void WriteW (int32 a, int32 d);
#define STOP_BREAK 11 /* simulator break key pressed */ #define STOP_BREAK 11 /* simulator break key pressed */
#define STOP_STEP 12 /* step count expired */ #define STOP_STEP 12 /* step count expired */
#define STOP_OTHER 13 /* other reason, probably error returned by sim_process_event() */ #define STOP_OTHER 13 /* other reason, probably error returned by sim_process_event() */
#define STOP_PRINT_CHECK 14 /* stop due to printer check (used by CGI version) */
#define IORETURN(f,v) ((f)? (v): SCPE_OK) /* cond error return */ #define IORETURN(f,v) ((f)? (v): SCPE_OK) /* cond error return */
@ -252,7 +253,7 @@ void WriteW (int32 a, int32 d);
/* prototypes: xio handlers */ /* prototypes: xio handlers */
void xio_1131_console (int32 addr, int32 func, int32 modify); /* console keyboard and printer */ void xio_1131_console (int32 addr, int32 func, int32 modify); /* console keyboard and printer */
void xio_1142_card (int32 addr, int32 func, int32 modify); /* standard card reader/punch */ void xio_1442_card (int32 addr, int32 func, int32 modify); /* standard card reader/punch */
void xio_1134_papertape (int32 addr, int32 func, int32 modify); /* paper tape reader/punch */ void xio_1134_papertape (int32 addr, int32 func, int32 modify); /* paper tape reader/punch */
void xio_disk (int32 addr, int32 func, int32 modify, int drv); /* internal CPU disk */ void xio_disk (int32 addr, int32 func, int32 modify, int drv); /* internal CPU disk */
void xio_1627_plotter (int32 addr, int32 func, int32 modify); /* XY plotter */ void xio_1627_plotter (int32 addr, int32 func, int32 modify); /* XY plotter */

View file

@ -34,7 +34,7 @@ commands may NOT be accurate. This should probably be fixed.
*/ */
#include "ibm1130_defs.h" #include "ibm1130_defs.h"
#include "memory.h" #include <memory.h>
#define TRACE_DMS_IO /* define to enable debug of DMS phase IO */ #define TRACE_DMS_IO /* define to enable debug of DMS phase IO */

View file

@ -72,18 +72,19 @@
#define MIN(a,b) ((a < b) ? a : b) #define MIN(a,b) ((a < b) ? a : b)
#define AMSG " with Assembler Reformat" #define AMSG " with Assembler Reformat"
#define FMSG " with FORTRAN Reformat" #define FMSG " with FORTRAN Reformat"
#define WMSG " with tab replacement"
#define AFORMAT "%20.20s%-60.60s"," " #define AFORMAT "%20.20s%-60.60s"," "
#define ACOMMENTFMT "%20.20s%-60.60s"," " #define ACOMMENTFMT "%20.20s%-60.60s"," "
#define ABLANKLINE "%20.20s*"," " #define ABLANKLINE "%20.20s*"," "
#define FFORMAT "%-5.5s %-74.74s" #define FFORMAT "%-5.5s %-74.74s"
#define FCONTFMT "%-5.5s%-75.75s" #define FCONTFMT "%-5.5s%-75.75s"
char gszLabel[6]; /* work area for label */ static char gszLabel[6]; /* work area for label */
char gszArg[MAXLINE]; /* .. argument */ static char gszArg[MAXLINE]; /* .. argument */
char gszOutput[MAXLINE]; /* .. output */ static char gszOutput[MAXLINE]; /* .. output */
short gaiAsmTabs[] = {7,12,15,20,25,30,35,40,45,52,0};/* tab stops for assembler */ static short gaiAsmTabs[] = {7,12,15,20,25,30,35,40,45,52,0};/* tab stops for assembler */
static short gaiPlainTabs[42]; /* tab stops for plain tabs. Settings will be made later. Max # positions when tabs are every 2 positions */
short gaiPlainTabs[] = {9, 17, 25, 33, 41, 49, 57, 65, 73, 0};/* tab stops for just plain tabs */ static int giPlainTabWidth = 0;
/* /*
* helper routines * helper routines
@ -163,7 +164,7 @@ char* pszX; /* work pointer */
* EditToAsm - convert tab-formatted text line to 1130 Assembler format * EditToAsm - convert tab-formatted text line to 1130 Assembler format
*/ */
char *EditToAsm (char* p_pszEdit) /* convert line to 1130 assembler */ char *EditToAsm (char* p_pszEdit, int width) /* convert line to 1130 assembler */
{ {
char pszLine[MAXLINE]; /* source line */ char pszLine[MAXLINE]; /* source line */
char pszWork[WORKSZ]; /* work buffer */ char pszWork[WORKSZ]; /* work buffer */
@ -174,11 +175,11 @@ size_t iI; /* work integer */
return AMSG; /* a. yes .. return display message */ return AMSG; /* a. yes .. return display message */
if (*p_pszEdit == '!') /* leave lines starting with ! alone */ if (*p_pszEdit == '!') /* leave lines starting with ! alone */
return EditToWhitespace(p_pszEdit+1); return EditToWhitespace(p_pszEdit+1, width);
if (*p_pszEdit == '*') /* q. comment line? */ if (*p_pszEdit == '*') /* q. comment line? */
{ /* a. yes.. */ { /* a. yes.. */
strncpy(pszWork, EditToWhitespace(p_pszEdit), MAXLINE); /* .. convert any tabs */ strncpy(pszWork, EditToWhitespace(p_pszEdit, width), MAXLINE); /* .. convert any tabs */
sprintf(gszOutput, ACOMMENTFMT, pszWork); /* .. put the comment out there in the opcode column */ sprintf(gszOutput, ACOMMENTFMT, pszWork); /* .. put the comment out there in the opcode column */
return gszOutput; /* .. and return it */ return gszOutput; /* .. and return it */
} }
@ -229,7 +230,7 @@ size_t iI; /* work integer */
* (a la DEC Fortran) * (a la DEC Fortran)
*/ */
char *EditToFortran(char* p_pszEdit) /* convert line to 1130 assembler */ char *EditToFortran(char* p_pszEdit, int width) /* convert line to 1130 assembler */
{ {
char pszLine[MAXLINE]; /* source line */ char pszLine[MAXLINE]; /* source line */
char* pszWork; /* work pointer */ char* pszWork; /* work pointer */
@ -244,7 +245,7 @@ int bContinue; /* true if continue */
if (*p_pszEdit == 'C' || *p_pszEdit == '*' || *p_pszEdit == '\0') /* q. comment or directive or blank line? */ if (*p_pszEdit == 'C' || *p_pszEdit == '*' || *p_pszEdit == '\0') /* q. comment or directive or blank line? */
{ /* a. yes.. don't restructure */ { /* a. yes.. don't restructure */
return EditToWhitespace(p_pszEdit); return EditToWhitespace(p_pszEdit, width);
} }
strncpy(pszLine, p_pszEdit, MAXLINE-1); /* copy the line local */ strncpy(pszLine, p_pszEdit, MAXLINE-1); /* copy the line local */
@ -283,20 +284,34 @@ int bContinue; /* true if continue */
} }
/************************************************* /*************************************************
* EditToWhitespace - expand tabs at 8 space intervals. * EditToWhitespace - expand tabs at n space intervals.
*/ */
char* EditToWhitespace(char *p_pszEdit) char* EditToWhitespace(char *p_pszEdit, int width)
{ {
int iI; /* work integer */ int iI; /* work integer */
int iPos; /* work integer for settings tab stops */
char pszLine[MAXLINE]; /* source line */ char pszLine[MAXLINE]; /* source line */
char pszWork[WORKSZ]; /* work buffer */ char pszWork[WORKSZ]; /* work buffer */
if (p_pszEdit == NULL) /* q. null request? */ if (p_pszEdit == NULL) /* q. null request? */
return AMSG; /* a. yes .. return display message */ return WMSG; /* a. yes .. return display message */
strncpy(pszLine, p_pszEdit, MAXLINE-1); /* copy the line local */ strncpy(pszLine, p_pszEdit, MAXLINE-1); /* copy the line local */
if (width == 0) width = 8; /* default */
if ((width != giPlainTabWidth) && (width > 1) && (width < 30)) {
giPlainTabWidth = width; /* if width is different, and valid, rebuild tabstop array */
iI = 0; /* output index */
iPos = width + 1; /* first tab position */
while (iPos < 80) { /* fill array up to but not including position 80 */
gaiPlainTabs[iI++] = iPos;
iPos += width;
}
gaiPlainTabs[iI] = 0; /* mark end of array */
}
ExpandTabs(pszLine, pszWork, gaiPlainTabs); /* expand the tabs */ ExpandTabs(pszLine, pszWork, gaiPlainTabs); /* expand the tabs */
strncpy(gszOutput, pszWork, MAXLINE-1); /* copy the line back */ strncpy(gszOutput, pszWork, MAXLINE-1); /* copy the line back */

View file

@ -12,6 +12,6 @@
/* ibm1130_asm.h: definition of routines in ibm1130_asm.c /* ibm1130_asm.h: definition of routines in ibm1130_asm.c
*/ */
char* EditToAsm(char*); /* convert edit format to 1130 assembler format */ char* EditToAsm(char* str, int width); /* convert edit format to 1130 assembler format */
char* EditToFortran(char*); /* convert edit format to Fortran format */ char* EditToFortran(char* str, int width); /* convert edit format to Fortran format */
char* EditToWhitespace(char*); /* clean white space, tabstops every 8 positions */ char* EditToWhitespace(char* str, int width); /* clean white space, tabstops every 8 positions */

View file

@ -151,6 +151,8 @@ static void EraseGDUScreen (void);
void xio_2250_display (int32 addr, int32 func, int32 modify) void xio_2250_display (int32 addr, int32 func, int32 modify)
{ {
if (cgi) return; /* ignore this device in CGI mode */
switch (func) { switch (func) {
case XIO_SENSE_DEV: case XIO_SENSE_DEV:
ACC = (gdu_dsw & GDU_DSW_BUSY) ? GDU_DSW_BUSY : gdu_dsw; ACC = (gdu_dsw & GDU_DSW_BUSY) ? GDU_DSW_BUSY : gdu_dsw;
@ -203,6 +205,8 @@ void xio_2250_display (int32 addr, int32 func, int32 modify)
static t_stat gdu_reset (DEVICE *dptr) static t_stat gdu_reset (DEVICE *dptr)
{ {
if (cgi) return SCPE_OK; /* ignore this device in CGI mode */
halt_regeneration(); halt_regeneration();
clear_interrupts(); clear_interrupts();
set_indicators(0); set_indicators(0);
@ -255,10 +259,8 @@ static void halt_regeneration (void)
// should check to see if GDU_DSW_BUSY is clear, and if it it still zero after several msec, // should check to see if GDU_DSW_BUSY is clear, and if it it still zero after several msec,
// only then should it black out the screen and call StopGDUUpdates. // only then should it black out the screen and call StopGDUUpdates.
if (gdu_dsw & GDU_DSW_BUSY) { if (gdu_dsw & GDU_DSW_BUSY) {
// StopGDUUpdates(); // let lower level code discover this during next refresh
CLRBIT(gdu_dsw, GDU_DSW_BUSY); CLRBIT(gdu_dsw, GDU_DSW_BUSY);
} }
// EraseGDUScreen(); // let cessation of regeneration erase it (eventually)
} }
static void notify_window_closed (void) static void notify_window_closed (void)
@ -677,6 +679,8 @@ static HPEN hRedPen = NULL;
static HBRUSH hGrayBrush, hDarkBrush; static HBRUSH hGrayBrush, hDarkBrush;
static HPEN hBlackPen; static HPEN hBlackPen;
static int halted = 0; // number of time intervals that GDU has been halted w/o a regeneration static int halted = 0; // number of time intervals that GDU has been halted w/o a regeneration
static UINT idTimer = 0;
static t_bool painting = FALSE;
static LRESULT APIENTRY GDUWndProc (HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam); static LRESULT APIENTRY GDUWndProc (HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam);
static DWORD WINAPI GDUPump (LPVOID arg); static DWORD WINAPI GDUPump (LPVOID arg);
@ -685,6 +689,8 @@ static void destroy_GDU_window (void)
if (hwGDU != NULL) if (hwGDU != NULL)
SendMessage(hwGDU, WM_CLOSE, 0, 0); // cross thread call is OK SendMessage(hwGDU, WM_CLOSE, 0, 0); // cross thread call is OK
#ifdef XXXX
// let window closure do this
if (hGDUPump != INVALID_HANDLE_VALUE) { // this is not the most graceful way to do it if (hGDUPump != INVALID_HANDLE_VALUE) { // this is not the most graceful way to do it
TerminateThread(hGDUPump, 0); TerminateThread(hGDUPump, 0);
hGDUPump = INVALID_HANDLE_VALUE; hGDUPump = INVALID_HANDLE_VALUE;
@ -711,6 +717,7 @@ static void destroy_GDU_window (void)
DeleteObject(hRedBrush); DeleteObject(hRedBrush);
hRedBrush = NULL; hRedBrush = NULL;
} }
#endif
#ifdef DEBUG_LIGHTPEN #ifdef DEBUG_LIGHTPEN
if (hRedPen != NULL) { if (hRedPen != NULL) {
@ -750,6 +757,13 @@ static void gdu_WM_CLOSE (HWND hWnd)
static void gdu_WM_DESTROY (HWND hWnd) static void gdu_WM_DESTROY (HWND hWnd)
{ {
PostMessage(hWnd, WM_QUIT, 0, 0);
if (idTimer != 0) {
KillTimer(hwGDU, 1);
idTimer = 0;
halted = 10000;
painting = FALSE;
}
notify_window_closed(); notify_window_closed();
hwGDU = NULL; hwGDU = NULL;
} }
@ -868,17 +882,29 @@ static void gdu_WM_PAINT (HWND hWnd)
{ {
PAINTSTRUCT ps; PAINTSTRUCT ps;
HDC hDC; HDC hDC;
int msec;
// code for display // code for display
hDC = BeginPaint(hWnd, &ps); hDC = BeginPaint(hWnd, &ps);
PaintImage(hDC, TRUE); PaintImage(hDC, TRUE);
EndPaint(hWnd, &ps); EndPaint(hWnd, &ps);
// set a timer so we keep doing it!
if (idTimer == 0) {
msec = (gdu_rate == 0) ? (1000 / DEFAULT_GDU_RATE) : 1000/gdu_rate;
idTimer = SetTimer(hwGDU, 1, msec, NULL);
}
} }
// the window has been resized // the window has been resized
static void gdu_WM_SIZE (HWND hWnd, UINT state, int cx, int cy) static void gdu_WM_SIZE (HWND hWnd, UINT state, int cx, int cy)
{ {
#ifdef BLIT_MODE
InvalidateRect(hWnd, NULL, FALSE); // in blt mode, we'll paint a full black bitmap over the new screen size
#else
InvalidateRect(hWnd, NULL, TRUE); InvalidateRect(hWnd, NULL, TRUE);
#endif
} }
// tweak the sizing rectangle during a resize to guarantee a square window // tweak the sizing rectangle during a resize to guarantee a square window
@ -911,7 +937,7 @@ static void gdu_WM_TIMER (HWND hWnd, UINT id)
{ {
HDC hDC; HDC hDC;
if (running) { // if CPU is running, update picture if (painting) { // if GDU is running, update picture
if ((gdu_dsw & GDU_DSW_BUSY) == 0) { // regeneration is not to occur if ((gdu_dsw & GDU_DSW_BUSY) == 0) { // regeneration is not to occur
if (++halted >= 4) { // stop the timer if four timer intervals go by with the display halted if (++halted >= 4) { // stop the timer if four timer intervals go by with the display halted
EraseGDUScreen(); // screen goes black due to cessation of refreshing EraseGDUScreen(); // screen goes black due to cessation of refreshing
@ -981,26 +1007,15 @@ static void CheckGDUKeyboard (void)
{ {
} }
static UINT idTimer = 0;
static void StartGDUUpdates (void) static void StartGDUUpdates (void)
{ {
int msec;
if (idTimer == 0) {
msec = (gdu_rate == 0) ? (1000 / DEFAULT_GDU_RATE) : 1000/gdu_rate;
idTimer = SetTimer(hwGDU, 1, msec, NULL);
}
halted = 0; halted = 0;
painting = TRUE;
} }
static void StopGDUUpdates (void) static void StopGDUUpdates (void)
{ {
if (idTimer != 0) { painting = FALSE;
KillTimer(hwGDU, 1);
idTimer = 0;
halted = 10000;
}
} }
static void GetMouseCoordinates() static void GetMouseCoordinates()
@ -1030,7 +1045,7 @@ static void GetMouseCoordinates()
t_bool gdu_active (void) t_bool gdu_active (void)
{ {
return gdu_dsw & GDU_DSW_BUSY; return cgi ? 0 : (gdu_dsw & GDU_DSW_BUSY);
} }
static void EraseGDUScreen (void) static void EraseGDUScreen (void)
@ -1103,6 +1118,8 @@ static DWORD WINAPI GDUPump (LPVOID arg)
DispatchMessage(&msg); DispatchMessage(&msg);
} }
painting = FALSE;
if (hwGDU != NULL) { if (hwGDU != NULL) {
DestroyWindow(hwGDU); /* but if a quit message got posted, clean up */ DestroyWindow(hwGDU); /* but if a quit message got posted, clean up */
hwGDU = NULL; hwGDU = NULL;

View file

@ -28,6 +28,7 @@
* ------------------------------------------------------------------------ */ * ------------------------------------------------------------------------ */
#include <stdarg.h> #include <stdarg.h>
#include <ctype.h>
#include <math.h> #include <math.h>
#include "ibm1130_defs.h" #include "ibm1130_defs.h"
@ -92,10 +93,6 @@ DEVICE console_dev = {
/* reset for the "console" display device */ /* reset for the "console" display device */
extern char *read_line (char *cptr, int size, FILE *stream);
extern DEVICE *find_unit (char *cptr, UNIT **uptr);
extern char *sim_prompt;
extern UNIT cr_unit; /* pointers to 1442 and 1132 (1403) printers */ extern UNIT cr_unit; /* pointers to 1442 and 1132 (1403) printers */
extern UNIT prt_unit; extern UNIT prt_unit;

View file

@ -7,6 +7,7 @@
2004.10.22 - Written. 2004.10.22 - Written.
2006.1.2 - Rewritten as plotter routine by Carl V Claunch 2006.1.2 - Rewritten as plotter routine by Carl V Claunch
2012.11.23 - added -d option in detach, which we'll use in the CGI simulator. BK.
* (C) Copyright 2004, Brian Knittel. * (C) Copyright 2004, Brian Knittel.
* You may freely use this program, but: it offered strictly on an AS-IS, AT YOUR OWN * You may freely use this program, but: it offered strictly on an AS-IS, AT YOUR OWN
@ -35,6 +36,7 @@
#else #else
#define NONDLL // I am linking statically to avoid some issues.
#include "gd.h" #include "gd.h"
/*************************************************************************************** /***************************************************************************************
@ -45,31 +47,78 @@
* - sheet moveable in .01" steps, either direction * - sheet moveable in .01" steps, either direction
* - switchable pen, in various colors and line widths * - switchable pen, in various colors and line widths
* *
* Simulator implementation will create a JPEG image corresponding to a * Notice that the WIDTH is 11" and the LENGTH can be anything up to 120'. And, the WIDTH
* landscape mode sheet of paper, the width of the carriage at 11". * was the plotter's Y direction, and the LENGTH was the plotter's X direction.
* A diagram of more than 8" of paper travel will span printed pages *
* in landscape mode. * The simulator creates a GIF image corresponding to a landscape mode sheet of paper. That is,
* the plotter's Y direction is the image's horizontal dimension, and the plotter's X direction
* is the image's vertical dimension. The WIDTH of the image is always 1100 pixels (11 inches at
* 100 dpi), and the LENGTH (height) of the image can be set. The default is 800 pixels (8
* inches at 100 dpi). A diagram of more than 8" in length (X direction) will span more than
* one printed page in landscape mode.
* *
* When an 'att plot' command is issued a file is created based on the * When an 'att plot' command is issued a file is created based on the
* default or currently set values of paper length, starting * default or currently set values of paper length, pen position, pen color and pen width.
* position of the pen in both X and Y axes, pen color and pen width.
* Based on the number of logical pages of paper, the command will create
* the proper size canvas internally and create the output JPEG file.
* *
* When a 'det plot' command is issued, the plotter image will be converted * When a 'det plot' command is issued, the plotter image will be
* into the file that was specified during the attach process. The * written to the GIF that was created during the attach process. The
* image is not viewable until this point, unless an examine plot is * image is not viewable until this point. (You could implement an EXAMINE PLOT command
* issued which will dump the current state of the paper into the file. * of some sort to write out an intermediate version of the image, but this is not currently
* implemented).
* *
* The 'set plot' command can set pen width, paper length, pen color, * The 'set plot' command can set pen width, paper length, pen color,
* current carriage X and Y coordinates. Paper length can be set * current carriage X and Y coordinates, as discussed below. Paper length can be set
* to alter the default of 800 (8"); changes are ignored until * to alter the default of 800 (8"); changes are ignored until
* the next 'attach' command. The current carriage x and y positions * the next 'attach' command. The current carriage x and y positions
* can be set at any time and will go into effect immediately, just * can be set at any time and will go into effect immediately, just
* as the pen color and pen width can be altered on the fly. * as the pen color and pen width can be altered on the fly.
* *
* NOTE: requires gd library and definition of ENABLE_PLOT_SUPPORT in makefile or Visual C configuration * NOTE: requires the libgd library and definition of ENABLE_PLOT_SUPPORT in makefile or Visual C configuration
* gd is not included in the main simh and ibm1130.org distributions at the present time. * gd source is not included in the main simh and ibm1130.org source distributions at the present time due to
* licensing issues.
*
* NOTE: On Windows, you need to either:
* + compile both LIBGD and SIMH to use the static C runtime libraries, compile
* LIBGD to a static library, and link LIBGD into ibm1130.exe (which is
* what we do at IBM1130.org, so that gd is built into the version of ibm1130.exe
* we distribute), or,
* + Compile both LIBGD and IBM1130 to use the DLL version of the C runtime, and compile
* GD to either a static library or a DLL, but, static is easier since you don't
* need to copy LIBGD.DLL along with ibm1130.exe
*
* SIMH commands:
*
* attach [-w] plot filename.gif
* Creates file filename.gif and attaches the plotter device to it.
* The file is empty at this point. The pen is raised. If the -w option is specified, and the
* simulator does not draw on the plotter between attach and detach, the gif file will be deleted
* on detach. (This is useful for the the cgi version of the simulator).
*
* detach plot filename.gif
* Detach the plot device. The gif data is written at this point, not before.
* If the -w flag was used on attach, and there was no plot activity, the gif file will be deleted.
*
* set plot black | red | blue | green | yellow | purple | lgrey | grey
* Sets the pen to the named color. Default is black.
*
* set plot 1.0 | 2.0 | 3.0 | 4.0
* Sets the pen thickness to the specified number of hundredths of an inch. Default is 1.0
*
* set plot penup | pendown
* Moves the pen up or down (onto the paper).
*
* set plot length NNN
* Sets the plot length (plotter X direction, GIF vertical dimension) to the NNN hundredths of
* an inch. Default is 800. The plot width (plotter Y direction, GIF horizontal dimension) is always
* 1100 (11 inches). NOTE: Changing this setting has no affect on the current plot. It takes affect at
* the next "attach plot" command.
*
* set plot xpos NNN
* set plot ypos NNN
* Sets the pen x or y position to NNN hundredths of an inch.
*
* (You cannot manually create a plot by issuing set plot pendown, xpos and ypos commands. The xpos and ypos
* settings only change the starting point for the simulated program).
***************************************************************************************/ ***************************************************************************************/
#define PLOT1627_DSW_OP_COMPLETE 0x8000 #define PLOT1627_DSW_OP_COMPLETE 0x8000
@ -78,7 +127,7 @@
#define IS_ONLINE(u) (((u)->flags & (UNIT_ATT|UNIT_DIS)) == UNIT_ATT) #define IS_ONLINE(u) (((u)->flags & (UNIT_ATT|UNIT_DIS)) == UNIT_ATT)
#define IS_DEBUG ((plot_unit->flags & UNIT_DEBUG) == UNIT_DEBUG) #define IS_DEBUG ((plot_unit->flags & UNIT_DEBUG) == UNIT_DEBUG)
#define IS_PENDOWN ((plot_unit->flags & UNIT_PEN) == UNIT_PEN) #define IS_PENDOWN ((plot_unit->flags & UNIT_PEN) != 0)
static t_stat plot_svc (UNIT *uptr); /* activity routine */ static t_stat plot_svc (UNIT *uptr); /* activity routine */
static t_stat plot_reset (DEVICE *dptr); /* reset of 1130 */ static t_stat plot_reset (DEVICE *dptr); /* reset of 1130 */
@ -103,7 +152,7 @@ static int32 plot_ymax = 1099; /* right edge of carriage */
#define PEN_DOWN 0x80000000 #define PEN_DOWN 0x80000000
#define PEN_UP 0x00000000 #define PEN_UP 0x00000000
static int32 plot_pen = PEN_UP; /* current pen position */ static int32 plot_pen = PEN_UP; /* current pen position. This duplicates the device flag PLOT_PEN. Makes the show dev plot command nicer. */
static int black_pen; /* holds color black */ static int black_pen; /* holds color black */
static int blue_pen; /* holds color blue */ static int blue_pen; /* holds color blue */
@ -116,8 +165,10 @@ static int grey_pen; /* holds grey */
static int white_background; /* holds white of paper roll */ static int white_background; /* holds white of paper roll */
static int plot_pwidth; /* set and display variable */ static int plot_pwidth; /* set and display variable */
static int plot_pcolor; /* set and display variable */ static int plot_pcolor; /* set and display variable */
static int need_update = 0; /* flag to force and update_pen() */ static int need_update = FALSE; /* flag to force and update_pen() */
static gdImagePtr image; /* pointer to our canvas */ static int plot_used = FALSE; /* flag set to true if anything was actually plotted between attach and detach */
static int delete_if_unused = FALSE; /* if TRUE and no plotter activity was seen, delete file on detach. This flag is set by -w option on attach command. */
static gdImagePtr image = NULL; /* pointer to our canvas */
#define UNIT_V_COLOR (UNIT_V_UF + 0) /* color of selected pen - 3 bits */ #define UNIT_V_COLOR (UNIT_V_UF + 0) /* color of selected pen - 3 bits */
#define UNIT_V_WIDTH (UNIT_V_UF + 3) /* width of pen - two bits */ #define UNIT_V_WIDTH (UNIT_V_UF + 3) /* width of pen - two bits */
@ -140,7 +191,7 @@ static gdImagePtr image; /* pointer to our canvas */
#define PEN_LTGREY (6u << UNIT_V_COLOR) #define PEN_LTGREY (6u << UNIT_V_COLOR)
#define PEN_GREY (7u << UNIT_V_COLOR) #define PEN_GREY (7u << UNIT_V_COLOR)
#define SET_COLOR(op) {plot_unit[0].flags &= ~UNIT_COLOR; plot_unit[0].flags |= (op);} #define SET_COLOR(op) (plot_unit[0].flags = (plot_unit[0].flags & ~UNIT_COLOR) | (op))
#define GET_COLOR (plot_unit[0].flags & UNIT_COLOR) #define GET_COLOR (plot_unit[0].flags & UNIT_COLOR)
#define BLACK 0,0,0 #define BLACK 0,0,0
@ -159,7 +210,7 @@ static gdImagePtr image; /* pointer to our canvas */
#define PEN_QUAD (3u << UNIT_V_WIDTH) #define PEN_QUAD (3u << UNIT_V_WIDTH)
#define GET_WIDTH() (plot_unit[0].flags & UNIT_WIDTH) #define GET_WIDTH() (plot_unit[0].flags & UNIT_WIDTH)
#define SET_WIDTH(cd) {plot_unit[0].flags &= ~UNIT_WIDTH; un.flags |= (cd);} #define SET_WIDTH(cd) (plot_unit[0].flags = (plot_unit[0].flags & ~UNIT_WIDTH) | (cd))
UNIT plot_unit[] = { UNIT plot_unit[] = {
{ UDATA (&plot_svc, UNIT_ATTABLE, 0) }, { UDATA (&plot_svc, UNIT_ATTABLE, 0) },
@ -170,7 +221,7 @@ REG plot_reg[] = {
{ DRDATA (WTIME, plot_wait, 24), PV_LEFT }, /* plotter movement wait */ { DRDATA (WTIME, plot_wait, 24), PV_LEFT }, /* plotter movement wait */
{ DRDATA (Xpos, plot_xpos, 32), PV_LEFT }, /* Current X Position*/ { DRDATA (Xpos, plot_xpos, 32), PV_LEFT }, /* Current X Position*/
{ DRDATA (Ypos, plot_ypos, 32), PV_LEFT }, /* Current Y Position*/ { DRDATA (Ypos, plot_ypos, 32), PV_LEFT }, /* Current Y Position*/
{ FLDATA (PenDown, plot_pen, 0)}, /* Current pen position - 1 = down */ { FLDATA (PenDown, plot_pen, 0)}, /* Current pen position: 1 = down */
{ DRDATA (PaperSize, plot_xmax, 32), PV_LEFT }, /* Length of paper in inches */ { DRDATA (PaperSize, plot_xmax, 32), PV_LEFT }, /* Length of paper in inches */
{ NULL } }; { NULL } };
@ -211,9 +262,10 @@ DEVICE plot_dev = {
/* xio_1627_plotter - XIO command interpreter for the 1627 plotter model 1 */ /* xio_1627_plotter - XIO command interpreter for the 1627 plotter model 1 */
void xio_1627_plotter (iocc_addr, iocc_func, iocc_mod) void xio_1627_plotter (int32 iocc_addr, int32 iocc_func, int32 iocc_mod)
{ {
char msg[80]; char msg[80];
int16 v;
if (! IS_ONLINE(plot_unit) ) { if (! IS_ONLINE(plot_unit) ) {
SETBIT(plot_dsw, PLOT1627_DSW_NOT_READY); /* set not ready */ SETBIT(plot_dsw, PLOT1627_DSW_NOT_READY); /* set not ready */
@ -246,7 +298,44 @@ void xio_1627_plotter (iocc_addr, iocc_func, iocc_mod)
break; break;
case XIO_CONTROL: /* control XIO */ case XIO_CONTROL: /* control XIO */
xio_error("Control XIO not supported by 1627 plotter"); // xio_error("Control XIO not supported by 1627 plotter");
// Well, not on a real 1130. But on our simulator, let's use XIO_CONTROL to
// allow programmatic control of the pen. Nifty, eh?
//
// Functions: XIO_CONTROL 0 clr - sets pen color (0=black, 1=red, 2=blue, 3=green, 4=yellow, 5=purple, 6=ltgrey, 7=grey)
// XIO_CONTRLL 1 wid - sets pen width (1..4)
// XIO_CONTROL 2 xpos - sets pen xpos
// XIO_CONTROL 3 ypos - sets pen ypos
v = (int16) iocc_addr; /* get signed 16 bit value passed in addr arg */
switch (iocc_mod) {
case 0: /* set pen color */
if (BETWEEN(v,0,7)) {
SET_COLOR(v << UNIT_V_COLOR);
update_pen();
}
break;
case 1: /* set pen width 1..4*/
if (BETWEEN(v,1,4)) {
SET_WIDTH((v-1) << UNIT_V_WIDTH);
update_pen();
}
break;
case 2: /* set xpos. (Programmatic xpos and ypos are probably not that valuable) */
plot_xpos = v; /* Note that it's possible to move the pen way off the paper */
break;
case 3: /* set ypos. Clip to valid range! */
if (v <= 0)
plot_ypos = 0;
else if (v > plot_ymax)
plot_ypos = plot_ymax;
else
plot_ypos = v;
break;
}
break; break;
default: default:
@ -274,8 +363,14 @@ static t_stat plot_svc (UNIT *uptr)
static t_stat plot_reset (DEVICE *dptr) static t_stat plot_reset (DEVICE *dptr)
{ {
char * buf; #ifdef NONDLL
int32 size; static int show_notice = FALSE;
if (show_notice && ! cgi) {
printf("Plotter support included. Please see www.libgd.org for libgd copyright information.\n");
show_notice = FALSE;
}
#endif
sim_cancel(plot_unit); sim_cancel(plot_unit);
@ -296,18 +391,13 @@ static t_stat plot_attach (UNIT *uptr, char *cptr)
{ {
t_stat result; t_stat result;
SETBIT(plot_dsw, PLOT1627_DSW_NOT_READY); /* assume failure */
CLRBIT(uptr->flags, UNIT_DEBUG); CLRBIT(uptr->flags, UNIT_DEBUG);
if (sim_switches & SWMASK('D')) SETBIT(uptr->flags, UNIT_DEBUG); if (sim_switches & SWMASK('D')) SETBIT(uptr->flags, UNIT_DEBUG);
/* get the output file by using regular attach routine */ if (cptr == NULL || ! *cptr) /* filename must be passed */
result = attach_unit(uptr, cptr); return SCPE_ARG;
if (result != SCPE_OK) {
if (IS_DEBUG) printf("problem attaching file\n");
return result;
}
SETBIT(plot_dsw, PLOT1627_DSW_NOT_READY); /* assume failure */
/* set up our canvas at the desired size */ /* set up our canvas at the desired size */
image = gdImageCreate(plot_ymax+1,plot_xmax+1); /* create our canvas */ image = gdImageCreate(plot_ymax+1,plot_xmax+1); /* create our canvas */
@ -316,7 +406,21 @@ static t_stat plot_attach (UNIT *uptr, char *cptr)
return SCPE_MEM; return SCPE_MEM;
} }
delete_if_unused = (sim_switches & SWMASK('W')) != 0;
remove(cptr); /* delete file if it already exists. Otherwise, attach_unit() would open r+w */
/* get the output file by using regular attach routine */
result = attach_unit(uptr, cptr);
if (result != SCPE_OK) {
if (IS_DEBUG) printf("problem attaching file\n");
gdImageDestroy(image); /* free up the canvas memory */
image = NULL;
return result;
}
/* set up the basic colors after image created */ /* set up the basic colors after image created */
/* (by the way, these calls don't allocate any memory in or out of the image buffer. They just populate its "colors-used" table */
white_background = gdImageColorAllocate(image,WHITE); /* white is background */ white_background = gdImageColorAllocate(image,WHITE); /* white is background */
black_pen = gdImageColorAllocate(image,BLACK); /* load up black color */ black_pen = gdImageColorAllocate(image,BLACK); /* load up black color */
blue_pen = gdImageColorAllocate(image,BLUE); /* load up blue color */ blue_pen = gdImageColorAllocate(image,BLUE); /* load up blue color */
@ -336,14 +440,17 @@ static t_stat plot_attach (UNIT *uptr, char *cptr)
CLRBIT(plot_dsw, PLOT1627_DSW_NOT_READY); /* we're in business */ CLRBIT(plot_dsw, PLOT1627_DSW_NOT_READY); /* we're in business */
update_pen(); /* routine to ensure pen is okay */ plot_pen = PEN_UP;
CLRBIT(plot_unit->flags, UNIT_PEN);
update_pen(); /* routine to ensure pen is okay */
plot_used = FALSE; /* plotter page is blank */
return SCPE_OK; return SCPE_OK;
} }
/* pen updating routine, called at attach and whenever we reset the values */ /* pen updating routine, called at attach and whenever we reset the values */
void update_pen (void) static void update_pen (void)
{ {
int color; int color;
int width; int width;
@ -430,39 +537,69 @@ void update_pen (void)
} }
/* plot_detach - detach file from simulated plotter */ /* plot_detach - detach file from simulated plotter */
static t_stat plot_detach (UNIT *uptr) static t_stat plot_detach (UNIT *uptr)
{ {
char * buf; char * buf, * fname;
int32 size; int32 size, result, saveit;
FILE * fp; FILE * fp;
int32 result; t_stat rval = SCPE_OK; /* return value */
SETBIT(plot_dsw, PLOT1627_DSW_NOT_READY); SETBIT(plot_dsw, PLOT1627_DSW_NOT_READY);
/* copy images to files, close files, set device to detached, free gd memory */ if (! (uptr->flags & UNIT_ATT)) /* not currently attached; don't proceed */
return SCPE_OK;
buf = gdImageGifPtr(image,&size); /* if -w flag was passed on attach: save file if there was plotter activity, otherwise delete it */
if (! buf) { /* if -w flag was not passed on attached, always save the file */
saveit = (plot_used || ! delete_if_unused) && (image != NULL);
if (saveit) { /* copy images to files, close files, set device to detached, free gd memory */
if ((buf = gdImageGifPtr(image,&size)) == NULL) {
if (IS_DEBUG) printf("failure creating GIF in-memory\n"); if (IS_DEBUG) printf("failure creating GIF in-memory\n");
return SCPE_MEM; return SCPE_MEM;
} }
fp = uptr->fileref; /* get file attached to unit */ fp = uptr->fileref; /* get file attached to unit */
if (! fseek(fp,0,SEEK_SET)) { /* first we reset to begin of file */ if (fseek(fp,0,SEEK_SET) == 0) { /* first we reset to begin of file */
if (IS_DEBUG) printf("wrote out GIF to file\n"); if (IS_DEBUG) printf("wrote out GIF to file\n");
result = fwrite(buf,1,size,fp); /* write out our image to the file */ result = fwrite(buf,1,size,fp); /* write out our image to the file */
} }
else
result = 0; /* make it look like the write failed so we return error status */
gdFree(buf); /* free up the memory of GIF format */ gdFree(buf); /* free up the memory of GIF format */
gdImageDestroy(image); /* free up the canvas memory */ }
else { /* make a copy of the filename so we can delete it after detach */
if (result != size) { /* some problem writing it */ if ((fname = malloc(strlen(uptr->filename)+1)) != NULL)
if (IS_DEBUG) printf("error in write of image file\n"); strcpy(fname, uptr->filename);
return SCPE_IOERR;
} }
return detach_unit(uptr); /* have simh close the file */ if (image != NULL) {
gdImageDestroy(image); /* free up the canvas memory */
image = NULL;
}
rval = detach_unit(uptr); /* have simh close the file */
if (saveit) { /* if we wrote the file, check that write was OK */
if (result != size) { /* report error writing file */
if (IS_DEBUG) printf("error in write of image file\n");
rval = SCPE_IOERR;
}
}
else { /* if we did not write the file, delete the file */
if (fname == NULL) {
rval = SCPE_MEM; /* we previously failed to allocate a copy of the filename (this will never happen) */
}
else {
remove(fname); /* remove the file and free the copy of the filename */
free(fname);
}
}
return rval;
} }
/* process_cmd - implement the drawing actions of the plotter */ /* process_cmd - implement the drawing actions of the plotter */
@ -474,7 +611,7 @@ static void process_cmd (void)
/* first see if we set any changes to pen or position, do an update */ /* first see if we set any changes to pen or position, do an update */
if (need_update) { if (need_update) {
update_pen(); update_pen();
need_update = 0; need_update = FALSE;
} }
/* will move pen one step or flip pen up or down */ /* will move pen one step or flip pen up or down */
@ -484,49 +621,49 @@ static void process_cmd (void)
switch (plot_cmd) { switch (plot_cmd) {
case 1: /* raise pen command */ case 1: /* raise pen command */
plot_pen = PEN_UP; plot_pen = PEN_UP;
plot_unit->flags = plot_unit->flags & (~UNIT_PEN); CLRBIT(plot_unit->flags, UNIT_PEN);
return; return;
break; break;
case 2: /* +Y command */ case 2: /* +Y command */
plot_ypos = plot_ypos + 1; ++plot_ypos;
break; break;
case 4: /* -Y command */ case 4: /* -Y command */
plot_ypos = plot_ypos - 1; --plot_ypos;
break; break;
case 8: /* -X command */ case 8: /* -X command */
plot_xpos = plot_xpos - 1; --plot_xpos;
break; break;
case 10: /* -X +Y command */ case 10: /* -X +Y command */
plot_xpos = plot_xpos - 1; --plot_xpos;
plot_ypos = plot_ypos + 1; ++plot_ypos;
break; break;
case 12: /* -X -Y command */ case 12: /* -X -Y command */
plot_xpos = plot_xpos - 1; --plot_xpos;
plot_ypos = plot_ypos - 1; --plot_ypos;
break; break;
case 16: /* +X command */ case 16: /* +X command */
plot_xpos = plot_xpos + 1; ++plot_xpos;
break; break;
case 18: /* +X +Y command */ case 18: /* +X +Y command */
plot_xpos = plot_xpos + 1; ++plot_xpos;
plot_ypos = plot_ypos + 1; ++plot_ypos;
break; break;
case 20: /* +X -Y pen command */ case 20: /* +X -Y pen command */
plot_xpos = plot_xpos + 1; ++plot_xpos;
plot_ypos = plot_ypos - 1; --plot_ypos;
break; break;
case 32: /* lower pen command */ case 32: /* lower pen command */
plot_pen = PEN_DOWN; plot_pen = PEN_DOWN;
plot_unit->flags = plot_unit->flags | UNIT_PEN; SETBIT(plot_unit->flags, UNIT_PEN);
return; return;
break; break;
@ -536,19 +673,36 @@ static void process_cmd (void)
break; break;
} }
/* check to see if carriage has moved off any edge */ /* On the real plotter, y motions were physically restricted at the ends of travel.
if ((plot_xpos > (plot_xmax+1)) || (plot_ypos > (plot_ymax+1)) || * We simulate this by clipping the plot_ypos value. Three +y movements at the right
(plot_xpos < 0) || (plot_ypos < 0)) { * end of travel followed by three -y movements will back up 3 positions, just as it would have on
* the physical plotter. Without clipping, the pen would end up where it started, which
* is incorrect. (Hopefully, good 1130 plotting software would never make this happen anyhow!)
*/
if (plot_ypos < 0)
plot_ypos = 0;
else if (plot_ypos > plot_ymax)
plot_ypos = plot_ymax;
/* We do allow X overtravel though, as the drum simply turned past the end of the paper. Three +x
* movements past the end of the paper followed by three -x movements would put the pen back at the
* edge of the paper.
*/
if ((plot_xpos < 0) || (plot_xpos > plot_xmax)) {
/* if so, ignore as 1627 has no way of signalling error */ /* if so, ignore as 1627 has no way of signalling error */
if (IS_DEBUG) printf( if (IS_DEBUG) printf(
"attempted to move carriage off paper edge %d %d for command %d\n", "attempted to move carriage off paper edge %d %d for command %d\n",
plot_xpos,plot_ypos,plot_cmd); plot_xpos,plot_ypos,plot_cmd);
return;
return; // no drawing takes place if the pen is off of the paper!
} }
/* only draw a line if the pen was down during the movement command */ /* only draw a line if the pen was down during the movement command */
if (plot_pen) { if (plot_pen) {
gdImageLine(image, plot_ymax-plot_ypos, plot_xmax-plot_xpos, plot_ymax-oldy, plot_xmax-oldx, gdAntiAliased); gdImageLine(image, plot_ymax-plot_ypos, plot_xmax-plot_xpos, plot_ymax-oldy, plot_xmax-oldx, gdAntiAliased);
plot_used = TRUE; /* remember that we drew something */
/* semantics are 0,0 point is lower right */ /* semantics are 0,0 point is lower right */
} }
@ -564,6 +718,11 @@ static t_stat plot_set_length (UNIT *uptr, int32 set, char *ptr, void *desc)
#define LONGEST_ROLL 1440000 /* longest is 120', 14400", 1,440,000 .01"s */ #define LONGEST_ROLL 1440000 /* longest is 120', 14400", 1,440,000 .01"s */
if (ptr == NULL) { /* check for missing argument */
printf("Command format is: set plot length=nnn\n");
return SCPE_ARG;
}
val = strtotv (ptr, &cptr, (uint32) 10); /* sim routine to get value */ val = strtotv (ptr, &cptr, (uint32) 10); /* sim routine to get value */
if ((val < 1) | (val >= LONGEST_ROLL)) { /* check valid range */ if ((val < 1) | (val >= LONGEST_ROLL)) { /* check valid range */
if (IS_DEBUG) printf("setting paper more than 120' or less than 1 inch\n"); if (IS_DEBUG) printf("setting paper more than 120' or less than 1 inch\n");
@ -626,8 +785,9 @@ static t_stat plot_show_nl(FILE *fp, UNIT *uptr, int32 val, void *descrip)
static t_stat plot_validate_change (UNIT *uptr, int32 set, char *ptr, void *desc) static t_stat plot_validate_change (UNIT *uptr, int32 set, char *ptr, void *desc)
{ {
need_update = 1; need_update = TRUE;
return SCPE_OK; return SCPE_OK;
} }
#endif /* ENABLE_PLOT_SUPPORT */ #endif /* ENABLE_PLOT_SUPPORT */

View file

@ -112,6 +112,7 @@ static t_bool formfed = FALSE; /* last line printed was a formfeed */
#define UNIT_V_RINGCHECK (UNIT_V_UF + 8) #define UNIT_V_RINGCHECK (UNIT_V_UF + 8)
#define UNIT_V_SYNCCHECK (UNIT_V_UF + 9) #define UNIT_V_SYNCCHECK (UNIT_V_UF + 9)
#define UNIT_V_PHYSICAL_PTR (UNIT_V_UF + 10) /* this appears in ibm1130_gui as well */ #define UNIT_V_PHYSICAL_PTR (UNIT_V_UF + 10) /* this appears in ibm1130_gui as well */
#define UNIT_V_TRACE (UNIT_V_UF + 11)
#define UNIT_FORMCHECK (1u << UNIT_V_FORMCHECK) #define UNIT_FORMCHECK (1u << UNIT_V_FORMCHECK)
#define UNIT_DATACHECK (1u << UNIT_V_DATACHECK) #define UNIT_DATACHECK (1u << UNIT_V_DATACHECK)
@ -124,6 +125,7 @@ static t_bool formfed = FALSE; /* last line printed was a formfeed */
#define UNIT_RINGCHECK (1u << UNIT_V_RINGCHECK) #define UNIT_RINGCHECK (1u << UNIT_V_RINGCHECK)
#define UNIT_SYNCCHECK (1u << UNIT_V_SYNCCHECK) #define UNIT_SYNCCHECK (1u << UNIT_V_SYNCCHECK)
#define UNIT_PHYSICAL_PTR (1u << UNIT_V_PHYSICAL_PTR) #define UNIT_PHYSICAL_PTR (1u << UNIT_V_PHYSICAL_PTR)
#define UNIT_TRACE (1u << UNIT_V_TRACE)
UNIT prt_unit[] = { UNIT prt_unit[] = {
{ UDATA (&prt_svc, UNIT_ATTABLE, 0) }, { UDATA (&prt_svc, UNIT_ATTABLE, 0) },
@ -132,6 +134,7 @@ UNIT prt_unit[] = {
#define IS_1403(uptr) (uptr->flags & UNIT_1403) /* model test */ #define IS_1403(uptr) (uptr->flags & UNIT_1403) /* model test */
#define IS_1132(uptr) ((uptr->flags & UNIT_1403) == 0) /* model test */ #define IS_1132(uptr) ((uptr->flags & UNIT_1403) == 0) /* model test */
#define IS_PHYSICAL(uptr) (uptr->flags & UNIT_PHYSICAL_PTR) #define IS_PHYSICAL(uptr) (uptr->flags & UNIT_PHYSICAL_PTR)
#define DO_TRACE(uptr) (uptr->flags & UNIT_TRACE)
/* Parameter in the unit descriptor (1132 printer) */ /* Parameter in the unit descriptor (1132 printer) */
@ -151,6 +154,8 @@ REG prt_reg[] = {
MTAB prt_mod[] = { MTAB prt_mod[] = {
{ UNIT_1403, 0, "1132", "1132", NULL }, /* model option */ { UNIT_1403, 0, "1132", "1132", NULL }, /* model option */
{ UNIT_1403, UNIT_1403, "1403", "1403", NULL }, { UNIT_1403, UNIT_1403, "1403", "1403", NULL },
{ UNIT_TRACE, UNIT_TRACE, "TRACE", "TRACE", NULL },
{ UNIT_TRACE, 0, "NOTRACE", "NOTRACE", NULL },
{ 0 } }; { 0 } };
DEVICE prt_dev = { DEVICE prt_dev = {
@ -348,7 +353,7 @@ static void mytrace (int start, char *what)
char *where; char *where;
if ((where = saywhere(prev_IAR)) == NULL) where = "?"; if ((where = saywhere(prev_IAR)) == NULL) where = "?";
trace_io("%s %s at %04x: %s\n", start ? "start" : "stop", what, prev_IAR, where); trace_io("%s %s at %04x: %s", start ? "start" : "stop", what, prev_IAR, where);
} }
/* xio_1132_printer - XIO command interpreter for the 1132 printer */ /* xio_1132_printer - XIO command interpreter for the 1132 printer */
@ -372,32 +377,33 @@ void xio_1132_printer (int32 iocc_addr, int32 func, int32 modify)
CLRBIT(PRT_DSW, PRT1132_DSW_READ_EMITTER_RESPONSE | PRT1132_DSW_SKIP_RESPONSE | PRT1132_DSW_SPACE_RESPONSE); CLRBIT(PRT_DSW, PRT1132_DSW_READ_EMITTER_RESPONSE | PRT1132_DSW_SKIP_RESPONSE | PRT1132_DSW_SPACE_RESPONSE);
CLRBIT(ILSW[1], ILSW_1_1132_PRINTER); CLRBIT(ILSW[1], ILSW_1_1132_PRINTER);
} }
trace_io("* Printer DSW %04x mod %x", ACC, modify);
break; break;
case XIO_CONTROL: case XIO_CONTROL:
if (modify & PRT_CMD_START_PRINTER) { if (modify & PRT_CMD_START_PRINTER) {
SETBIT(uptr->flags, UNIT_PRINTING); SETBIT(uptr->flags, UNIT_PRINTING);
/* mytrace(1, "printing"); */ if (DO_TRACE(uptr)) mytrace(1, "printing");
} }
if (modify & PRT_CMD_STOP_PRINTER) { if (modify & PRT_CMD_STOP_PRINTER) {
CLRBIT(uptr->flags, UNIT_PRINTING); CLRBIT(uptr->flags, UNIT_PRINTING);
/* mytrace(0, "printing"); */ if (DO_TRACE(uptr)) mytrace(0, "printing");
} }
if (modify & PRT_CMD_START_CARRIAGE) { if (modify & PRT_CMD_START_CARRIAGE) {
SETBIT(uptr->flags, UNIT_SKIPPING); SETBIT(uptr->flags, UNIT_SKIPPING);
/* mytrace(1, "skipping"); */ if (DO_TRACE(uptr)) mytrace(1, "skipping");
} }
if (modify & PRT_CMD_STOP_CARRIAGE) { if (modify & PRT_CMD_STOP_CARRIAGE) {
CLRBIT(uptr->flags, UNIT_SKIPPING); CLRBIT(uptr->flags, UNIT_SKIPPING);
/* mytrace(0, "skipping"); */ if (DO_TRACE(uptr)) mytrace(0, "skipping");
} }
if (modify & PRT_CMD_SPACE) { if (modify & PRT_CMD_SPACE) {
SETBIT(uptr->flags, UNIT_SPACING); SETBIT(uptr->flags, UNIT_SPACING);
/* mytrace(1, "space"); */ if (DO_TRACE(uptr)) mytrace(1, "space");
} }
sim_cancel(uptr); sim_cancel(uptr);
@ -437,6 +443,7 @@ static t_stat prt_svc (UNIT *uptr)
static t_stat prt1132_svc (UNIT *uptr) static t_stat prt1132_svc (UNIT *uptr)
{ {
if (PRT_DSW & PRT1132_DSW_NOT_READY) { /* cancel operation if printer went offline */ if (PRT_DSW & PRT1132_DSW_NOT_READY) { /* cancel operation if printer went offline */
if (DO_TRACE(uptr)) trace_io("1132 form check");
SETBIT(uptr->flags, UNIT_FORMCHECK); SETBIT(uptr->flags, UNIT_FORMCHECK);
SET_ACTION(uptr, 0); SET_ACTION(uptr, 0);
forms_check(TRUE); /* and turn on forms check lamp */ forms_check(TRUE); /* and turn on forms check lamp */
@ -467,9 +474,15 @@ static t_stat prt1132_svc (UNIT *uptr)
if (uptr->flags & UNIT_PRINTING) { if (uptr->flags & UNIT_PRINTING) {
if (! save_1132_prt_line(codewheel1132[prt_nchar].ascii)) { /* save previous printed line */ if (! save_1132_prt_line(codewheel1132[prt_nchar].ascii)) { /* save previous printed line */
trace_io("* Print check -- buffer not set in time");
SETBIT(uptr->flags, UNIT_DATACHECK); /* buffer wasn't set in time */ SETBIT(uptr->flags, UNIT_DATACHECK); /* buffer wasn't set in time */
SET_ACTION(uptr, 0); SET_ACTION(uptr, 0);
print_check(TRUE); /* and turn on forms check lamp */ print_check(TRUE); /* and turn on forms check lamp */
/* if (running)
reason = STOP_IMMEDIATE; // halt on check
*/
return SCPE_OK; return SCPE_OK;
} }
@ -583,6 +596,7 @@ static t_stat prt1403_svc(UNIT *uptr)
{ {
if (PRT_DSW & PRT1403_DSW_NOT_READY) { /* cancel operation if printer went offline */ if (PRT_DSW & PRT1403_DSW_NOT_READY) { /* cancel operation if printer went offline */
SET_ACTION(uptr, 0); SET_ACTION(uptr, 0);
if (DO_TRACE(uptr)) trace_io("1403 form check");
forms_check(TRUE); /* and turn on forms check lamp */ forms_check(TRUE); /* and turn on forms check lamp */
} }
else if (uptr->flags & UNIT_TRANSFERRING) { /* end of transfer */ else if (uptr->flags & UNIT_TRANSFERRING) { /* end of transfer */
@ -635,7 +649,7 @@ static t_stat prt1403_svc(UNIT *uptr)
/* delete_cmd - SCP command to delete a file */ /* delete_cmd - SCP command to delete a file */
static t_stat delete_cmd (int32 flag, char *cptr) static t_stat delete_cmd (int flag, char *cptr)
{ {
char gbuf[CBUFSIZE]; char gbuf[CBUFSIZE];
int status; int status;

View file

@ -363,7 +363,7 @@ static t_stat tti_svc (UNIT *uptr)
if ((tti_unit.flags & CSET_MASK) == CSET_ASCII) if ((tti_unit.flags & CSET_MASK) == CSET_ASCII)
temp = conin_map[temp] & 0xFF; /* perform input translation */ temp = conin_map[temp] & 0xFF; /* perform input translation */
if (temp == IRQ_KEY) { /* INT REQ (interrupt request) key */ if (temp == IRQ_KEY) { /* INT REQ (interrupt request) key -- process this even if no keyboard input request pending */
SETBIT(tti_dsw, TT_DSW_INTERRUPT_REQUEST); /* queue interrupt */ SETBIT(tti_dsw, TT_DSW_INTERRUPT_REQUEST); /* queue interrupt */
SETBIT(ILSW[4], ILSW_4_CONSOLE); SETBIT(ILSW[4], ILSW_4_CONSOLE);
calc_ints(); calc_ints();
@ -388,16 +388,17 @@ static t_stat tti_svc (UNIT *uptr)
return SCPE_OK; return SCPE_OK;
} }
// keyboard is locked or no active input request?
if ((tti_unit.flags & KEYBOARD_LOCKED) || ! (tti_dsw & TT_DSW_KEYBOARD_BUSY)) { if ((tti_unit.flags & KEYBOARD_LOCKED) || ! (tti_dsw & TT_DSW_KEYBOARD_BUSY)) {
SendBeep(); SendBeep();
calc_ints();
return SCPE_OK; return SCPE_OK;
} }
if ((tti_unit.flags & CSET_MASK) == CSET_ASCII) if ((tti_unit.flags & CSET_MASK) == CSET_ASCII)
temp = ascii_to_conin[temp]; temp = ascii_to_conin[temp];
if (temp == 0) { /* ignore invalid characters */ if (temp == 0) { /* ignore invalid characters (no mapping to 1130 input code) */
SendBeep(); SendBeep();
calc_ints(); calc_ints();
return SCPE_OK; return SCPE_OK;

View file

@ -35,6 +35,7 @@ extern DEVICE gdu_dev, console_dev, plot_dev;
extern UNIT cpu_unit; extern UNIT cpu_unit;
extern REG cpu_reg[]; extern REG cpu_reg[];
extern int32 saved_PC; extern int32 saved_PC;
extern t_bool is_1800;
/* SCP data structures and interface routines /* SCP data structures and interface routines
@ -290,11 +291,9 @@ static int ebcdic_to_ascii (int ch)
t_stat fprint_sym (FILE *of, t_addr addr, t_value *val, UNIT *uptr, int32 sw) t_stat fprint_sym (FILE *of, t_addr addr, t_value *val, UNIT *uptr, int32 sw)
{ {
int32 cflag, ch, OP, F, TAG, INDIR, DSPLC, IR, eaddr; int32 ch, OP, F, TAG, INDIR, DSPLC, IR, eaddr;
char *mnem, tst[12]; char *mnem, tst[12];
cflag = (uptr == NULL) || (uptr == &cpu_unit);
/* if (sw & SWMASK ('A')) { // ASCII? not useful /* if (sw & SWMASK ('A')) { // ASCII? not useful
fprintf (of, (c1 < 040)? "<%03o>": "%c", c1); fprintf (of, (c1 < 040)? "<%03o>": "%c", c1);
return SCPE_OK; return SCPE_OK;
@ -348,6 +347,13 @@ t_stat fprint_sym (FILE *of, t_addr addr, t_value *val, UNIT *uptr, int32 sw)
} }
mnem = opcode[OP]; /* get mnemonic */ mnem = opcode[OP]; /* get mnemonic */
if (is_1800) { /* these two are defined on the 1800 but undefined on the 1130 */
if (OP == 0x16)
mnem = "CMP ";
else if (OP == 0x17)
mnem = "DCMP";
}
if (OP == 0x02) { /* left shifts are special */ if (OP == 0x02) { /* left shifts are special */
mnem = lsopcode[(DSPLC >> 6) & 0x0003]; mnem = lsopcode[(DSPLC >> 6) & 0x0003];
DSPLC &= 0x003F; DSPLC &= 0x003F;

View file

@ -4,12 +4,13 @@
// //
#define IDB_CONSOLE 101 #define IDB_CONSOLE 101
#define IDC_MYHAND 102 #define IDC_MYHAND 102
#define IDI_ICON1 103
// Next default values for new objects // Next default values for new objects
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 103 #define _APS_NEXT_RESOURCE_VALUE 104
#define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1000 #define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_SYMED_VALUE 101

View file

@ -1,74 +0,0 @@
# (This makefile is for operating systems other than Windows,
# or compilers other than Microsoft's. For MS builds, use the
# .mak files found in this directory and the utils directory).
#
# If you are building the emulator and utilities as part of
# the SIMH package, please:
#
# Be sure that you there are NO copies of scp.c, scp_tty.c,
# sim_sock.c, sim_tmxr.c, sim_rev.h, sim_defs.h, sim_sock.h and
# sim_tmxr.h in the ibm1130 subdirectory. Delete them if there
# are.
#
# Do not use this makefile with "make all" or "make ibm1130".
# Use the SIMH build files instead.
#
# If and when you download updates for this simulator from
# www.ibm1130.org, get ibm1130code.zip and ibm1130software.zip
# separately.
#
# If you have downloaded the emulator independently of SIMH (e.g, from
# www.ibm1130.org), please:
#
# Be sure that you DO have copies of scp.c, scp_tty.c, sim_sock.c,
# sim_tmxr.c, sim_rev.h, sim_defs.h, sim_sock.h and sim_tmxr.h
# in this folder.
#
# Use this file to make the emulator.
#
# If and when you download updates for this simulator from
# www.ibm1130.org, get ibm1130.zip. When you expand it,
# also expand ibm1130sofware.zip, which is inside.
#
# In either case, if you want to build DMS or work with assembly
# language programs outside of DMS, you'll want to make the utilities
# by cd'ing to the utils directory and running make there.
# CC Command
#
# Note: -O2 is sometimes broken in GCC when setjump/longjump is being
# used. Try -O2 only with released simulators.
#
CC = gcc -O0 -lm -I .
#CC = gcc -O2 -g -lm -I .
#
# Common Libraries
#
BIN =
SIM = scp.c sim_console.c sim_fio.c sim_sock.c sim_timer.c sim_tmxr.c scp_tty.c
SIM_INC = scp.h sim_console.h sim_defs.h sim_fio.h sim_rev.h sim_sock.h sim_timer.h sim_tmxr.h
#
# Emulator source files and compile time options
#
ibm1130D = ./
ibm1130 = ${ibm1130D}ibm1130_sys.c ${ibm1130D}ibm1130_cpu.c \
${ibm1130D}ibm1130_cr.c ${ibm1130D}ibm1130_disk.c \
${ibm1130D}ibm1130_stddev.c ${ibm1130D}ibm1130_gdu.c \
${ibm1130D}ibm1130_gui.c ${ibm1130D}ibm1130_prt.c \
${ibm1130D}ibm1130_ptrp.c ${ibm1130D}ibm1130_fmt.c
ibm1130_INC = ibm1130res.h ibm1130_conin.h ibm1130_conout.h \
ibm1130_defs.h ibm1130_prtwheel.h ibm1130_fmt.h \
dmsr2v12phases.h dmsr2v12slet.h
#
# Build the emulator
#
${BIN}ibm1130 : ${ibm1130} ${SIM} ${ibm1130_INC} ${SIM_INC}
${CC} ${ibm1130} ${SIM} -o $@

View file

@ -1,5 +1,13 @@
Here's the 1130 simulator as it stands now. Here's the 1130 simulator as it stands now.
Status: 25Oct2012
* Added plotter and 2250 GDU support (though, we don't
have the 2250 support library)
* Numerous fixes, especially the error in compiling
the FORTRAN sqrt() function under extended precision.
Status: 22Jul2003 Status: 22Jul2003
* Added support for APL\1130 output translations * Added support for APL\1130 output translations

View file

@ -241,6 +241,7 @@ TMXR dz_desc = { DZ_MUXES * DZ_LINES, 0, 0, NULL }; /* mux descriptor */
#define DBG_INT 0x0002 /* display transfer requests */ #define DBG_INT 0x0002 /* display transfer requests */
#define DBG_XMT TMXR_DBG_XMT /* display Transmitted Data */ #define DBG_XMT TMXR_DBG_XMT /* display Transmitted Data */
#define DBG_RCV TMXR_DBG_RCV /* display Received Data */ #define DBG_RCV TMXR_DBG_RCV /* display Received Data */
#define DBG_MDM TMXR_DBG_MDM /* display Modem Signals */
#define DBG_TRC TMXR_DBG_TRC /* display trace routine calls */ #define DBG_TRC TMXR_DBG_TRC /* display trace routine calls */
#define DBG_ASY TMXR_DBG_ASY /* display Asynchronous Activities */ #define DBG_ASY TMXR_DBG_ASY /* display Asynchronous Activities */
@ -249,12 +250,12 @@ DEBTAB dz_debug[] = {
{"INT", DBG_INT}, {"INT", DBG_INT},
{"XMT", DBG_XMT}, {"XMT", DBG_XMT},
{"RCV", DBG_RCV}, {"RCV", DBG_RCV},
{"MDM", DBG_MDM},
{"TRC", DBG_TRC}, {"TRC", DBG_TRC},
{"ASY", DBG_ASY}, {"ASY", DBG_ASY},
{0} {0}
}; };
DEVICE dz_dev;
t_stat dz_rd (int32 *data, int32 PA, int32 access); t_stat dz_rd (int32 *data, int32 PA, int32 access);
t_stat dz_wr (int32 data, int32 PA, int32 access); t_stat dz_wr (int32 data, int32 PA, int32 access);
int32 dz_rxinta (void); int32 dz_rxinta (void);
@ -366,6 +367,7 @@ static char *dz_wr_regs[] =
t_stat dz_rd (int32 *data, int32 PA, int32 access) t_stat dz_rd (int32 *data, int32 PA, int32 access)
{ {
int i; int i;
static BITFIELD* bitdefs[] = {dz_csr_bits, dz_rbuf_bits, dz_tcr_bits, dz_msr_bits};
int32 dz = ((PA - dz_dib.ba) >> 3) & DZ_MNOMASK; /* get mux num */ int32 dz = ((PA - dz_dib.ba) >> 3) & DZ_MNOMASK; /* get mux num */
switch ((PA >> 1) & 03) { /* case on PA<2:1> */ switch ((PA >> 1) & 03) { /* case on PA<2:1> */
@ -405,14 +407,16 @@ switch ((PA >> 1) & 03) { /* case on PA<2:1> */
tmxr_set_get_modem_bits (lp, 0, 0, &modem_bits); tmxr_set_get_modem_bits (lp, 0, 0, &modem_bits);
dz_msr[dz] &= ~((1 << (MSR_V_RI + i)) | (1 << (MSR_V_CD + i))); dz_msr[dz] &= ~((1 << (MSR_V_RI + i)) | (1 << (MSR_V_CD + i)));
dz_msr[dz] |= ((modem_bits&TMXR_MDM_RNG) ? (1 << (MSR_V_RI + i)) : 0) | dz_msr[dz] |= (dz_tcr[dz] & (1 << (i + TCR_V_DTR))) ?
((modem_bits&TMXR_MDM_DCD) ? (1 << (MSR_V_CD + i)) : 0); ((modem_bits&TMXR_MDM_DCD) ? (1 << (MSR_V_CD + i)) : 0) :
((modem_bits&TMXR_MDM_RNG) ? (1 << (MSR_V_RI + i)) : 0);
} }
*data = dz_msr[dz]; *data = dz_msr[dz];
break; break;
} }
sim_debug(DBG_REG, &dz_dev, "dz_rd(PA=0x%08X [%s], access=%d, data=0x%X)\n", PA, dz_rd_regs[(PA >> 1) & 03], access, *data); sim_debug(DBG_REG, &dz_dev, "dz_rd(PA=0x%08X [%s], access=%d, data=0x%X) ", PA, dz_rd_regs[(PA >> 1) & 03], access, *data);
sim_debug_bits(DBG_REG, &dz_dev, bitdefs[(PA >> 1) & 03], (uint32)(*data), (uint32)(*data), TRUE);
return SCPE_OK; return SCPE_OK;
} }
@ -420,16 +424,19 @@ return SCPE_OK;
t_stat dz_wr (int32 data, int32 PA, int32 access) t_stat dz_wr (int32 data, int32 PA, int32 access)
{ {
int32 dz = ((PA - dz_dib.ba) >> 3) & DZ_MNOMASK; /* get mux num */ int32 dz = ((PA - dz_dib.ba) >> 3) & DZ_MNOMASK; /* get mux num */
static BITFIELD* bitdefs[] = {dz_csr_bits, dz_lpr_bits, dz_tcr_bits, dz_tdr_bits};
int32 i, c, line; int32 i, c, line;
char lineconfig[16]; char lineconfig[16];
TMLN *lp; TMLN *lp;
sim_debug(DBG_REG, &dz_dev, "dz_wr(PA=0x%08X [%s], access=%d, data=0x%X)\n", PA, dz_wr_regs[(PA >> 1) & 03], access, data); sim_debug(DBG_REG, &dz_dev, "dz_wr(PA=0x%08X [%s], access=%d, data=0x%X) ", PA, dz_wr_regs[(PA >> 1) & 03], access, data);
sim_debug_bits(DBG_REG, &dz_dev, bitdefs[(PA >> 1) & 03], (uint32)((PA & 1) ? data<<8 : data), (uint32)((PA & 1) ? data<<8 : data), TRUE);
switch ((PA >> 1) & 03) { /* case on PA<2:1> */ switch ((PA >> 1) & 03) { /* case on PA<2:1> */
case 00: /* CSR */ case 00: /* CSR */
if (access == WRITEB) data = (PA & 1)? /* byte? merge */ if (access == WRITEB)
data = (PA & 1)? /* byte? merge */
(dz_csr[dz] & 0377) | (data << 8): (dz_csr[dz] & 0377) | (data << 8):
(dz_csr[dz] & ~0377) | data; (dz_csr[dz] & ~0377) | data;
if (data & CSR_CLR) /* clr? reset */ if (data & CSR_CLR) /* clr? reset */
@ -467,10 +474,12 @@ switch ((PA >> 1) & 03) { /* case on PA<2:1> */
break; break;
case 02: /* TCR */ case 02: /* TCR */
if (access == WRITEB) data = (PA & 1)? /* byte? merge */ if (access == WRITEB)
data = (PA & 1)? /* byte? merge */
(dz_tcr[dz] & 0377) | (data << 8): (dz_tcr[dz] & 0377) | (data << 8):
(dz_tcr[dz] & ~0377) | data; (dz_tcr[dz] & ~0377) | data;
if (dz_mctl) { /* modem ctl? */ if (dz_mctl &&
((access != WRITEB) || (PA & 1))) { /* modem ctl (DTR)? */
int32 changed = data ^ dz_tcr[dz]; int32 changed = data ^ dz_tcr[dz];
for (i = 0; i < DZ_LINES; i++) { for (i = 0; i < DZ_LINES; i++) {
@ -478,10 +487,10 @@ switch ((PA >> 1) & 03) { /* case on PA<2:1> */
continue; /* line unchanged skip */ continue; /* line unchanged skip */
line = (dz * DZ_LINES) + i; /* get line num */ line = (dz * DZ_LINES) + i; /* get line num */
lp = &dz_ldsc[line]; /* get line desc */ lp = &dz_ldsc[line]; /* get line desc */
if (data & (1 << (TCR_V_DTR + i))) { if (data & (1 << (TCR_V_DTR + i))) { /* just asserted, so turn on */
tmxr_set_get_modem_bits (lp, TMXR_MDM_DTR|TMXR_MDM_RTS, 0, NULL); tmxr_set_get_modem_bits (lp, TMXR_MDM_DTR|TMXR_MDM_RTS, 0, NULL);
} }
else else /* just deasserted, so turn off */
if (dz_auto) if (dz_auto)
tmxr_set_get_modem_bits (lp, 0, TMXR_MDM_DTR|TMXR_MDM_RTS, NULL); tmxr_set_get_modem_bits (lp, 0, TMXR_MDM_DTR|TMXR_MDM_RTS, NULL);
} }
@ -641,6 +650,7 @@ void dz_set_rxint (int32 dz)
{ {
dz_rxi = dz_rxi | (1 << dz); /* set mux rcv int */ dz_rxi = dz_rxi | (1 << dz); /* set mux rcv int */
SET_INT (DZRX); /* set master intr */ SET_INT (DZRX); /* set master intr */
sim_debug(DBG_INT, &dz_dev, "dz_set_rxint(dz=%d)\n", dz);
return; return;
} }
@ -671,6 +681,7 @@ void dz_set_txint (int32 dz)
{ {
dz_txi = dz_txi | (1 << dz); /* set mux xmt int */ dz_txi = dz_txi | (1 << dz); /* set mux xmt int */
SET_INT (DZTX); /* set master intr */ SET_INT (DZTX); /* set master intr */
sim_debug(DBG_INT, &dz_dev, "dz_set_txint(dz=%d)\n", dz);
return; return;
} }
@ -740,7 +751,7 @@ t_stat dz_attach (UNIT *uptr, char *cptr)
int32 dz, muxln; int32 dz, muxln;
t_stat r; t_stat r;
if (sim_switches & SWMASK ('M')) /* modem control? */ if ((sim_switches & SWMASK ('M')) || dz_mctl) /* modem control? */
tmxr_set_modem_control_passthru (&dz_desc); tmxr_set_modem_control_passthru (&dz_desc);
r = tmxr_attach (&dz_desc, uptr, cptr); /* attach mux */ r = tmxr_attach (&dz_desc, uptr, cptr); /* attach mux */
if (r != SCPE_OK) { /* error? */ if (r != SCPE_OK) { /* error? */
@ -778,8 +789,11 @@ return SCPE_OK;
t_stat dz_detach (UNIT *uptr) t_stat dz_detach (UNIT *uptr)
{ {
t_stat r = tmxr_detach (&dz_desc, uptr);
dz_mctl = dz_auto = 0; /* modem ctl off */ dz_mctl = dz_auto = 0; /* modem ctl off */
return tmxr_detach (&dz_desc, uptr); tmxr_clear_modem_control_passthru (&dz_desc);
return r;
} }
/* SET LINES processor */ /* SET LINES processor */
@ -804,8 +818,9 @@ if (newln < dz_desc.lines) {
for (i = newln; i < dz_desc.lines; i++) { for (i = newln; i < dz_desc.lines; i++) {
if (dz_ldsc[i].conn) { if (dz_ldsc[i].conn) {
tmxr_linemsg (&dz_ldsc[i], "\r\nOperator disconnected line\r\n"); tmxr_linemsg (&dz_ldsc[i], "\r\nOperator disconnected line\r\n");
tmxr_reset_ln (&dz_ldsc[i]); /* reset line */ tmxr_send_buffered_data (&dz_ldsc[i]);
} }
tmxr_detach_ln (&dz_ldsc[i]); /* completely reset line */
if ((i % DZ_LINES) == (DZ_LINES - 1)) if ((i % DZ_LINES) == (DZ_LINES - 1))
dz_clear (i / DZ_LINES, TRUE); /* reset mux */ dz_clear (i / DZ_LINES, TRUE); /* reset mux */
} }

View file

@ -2718,7 +2718,7 @@ if (cptr) {
cap = (uint32) get_uint (cptr, 10, 0xFFFFFFFF, &r); cap = (uint32) get_uint (cptr, 10, 0xFFFFFFFF, &r);
if ((sim_switches & SWMASK ('L')) == 0) if ((sim_switches & SWMASK ('L')) == 0)
cap = cap * 1954; cap = cap * 1954;
if ((r != SCPE_OK) || (cap < RA8U_MINC) || (cap >= max)) if ((r != SCPE_OK) || (cap < RA8U_MINC) || (cap > max))
return SCPE_ARG; return SCPE_ARG;
drv_tab[val].lbn = cap; drv_tab[val].lbn = cap;
} }

View file

@ -14,8 +14,15 @@
#### Howard Harte has implemented a Lincoln Labs TX-0 simulator. #### Howard Harte has implemented a Lincoln Labs TX-0 simulator.
#### Updated AltairZ80 simulator from Peter Schorn.
#### Updated HP2100 simulator from Dave Bryan.
### New Functionality ### New Functionality
#### Remote Console Facility
A new capability has been added which allows a TELNET Connection to a user designated port so that some out of band commands can be entered to manipulate and/or adjust a running simulator. The commands which enable and control this capability are SET REMOTE TELNET=port, SET REMOTE CONNECTIONS=n and SHOW REMOTE.
#### VAX/PDP11 Enhancements #### VAX/PDP11 Enhancements
RQ has new disk types: RC25, RCF25, RA80 RQ has new disk types: RC25, RCF25, RA80
RQ device has a settable controller type (RQDX3, UDA50, KLESI, RUX50) RQ device has a settable controller type (RQDX3, UDA50, KLESI, RUX50)
@ -151,12 +158,16 @@ Other related changes/extensions:
SET NOQUIET Set normal output mode for command execution SET NOQUIET Set normal output mode for command execution
SET PROMPT Change the prompt used by the simulator (defaulr sim>) SET PROMPT Change the prompt used by the simulator (defaulr sim>)
SET THROTTLE x/t Throttle t ms every x cycles SET THROTTLE x/t Throttle t ms every x cycles
SET REMOTE TELNET=port Specify remote console telnet port
SET REMOTE NOTELNET Disables remote console
SET REMOTE CONNECTIONS=n Specify the number of concurrent remote console sessions
SHOW FEATURES Displays the devices descriptions and features SHOW FEATURES Displays the devices descriptions and features
SHOW ASYNCH Display the current Asynchronous I/O status SHOW ASYNCH Display the current Asynchronous I/O status
SHOW SERIAL Display the available and/or open serial ports SHOW SERIAL Display the available and/or open serial ports
SHOW ETHERNET Display the available and/or open ethernet connections SHOW ETHERNET Display the available and/or open ethernet connections
SHOW MULTIPLEXER Display the details about open multiplexer devices SHOW MULTIPLEXER Display the details about open multiplexer devices
SHOW CLOCKS Display the details about calibrated timers SHOW CLOCKS Display the details about calibrated timers
SHOW REMOTE Display the remote console configuration
SHOW ON Display ON condition dispatch actions SHOW ON Display ON condition dispatch actions
SET ON Enable ON condition error dispatching SET ON Enable ON condition error dispatching
SET NOON Disable ON condition error dispatching SET NOON Disable ON condition error dispatching

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -45,7 +45,7 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="./;../;../ibm1130/" AdditionalIncludeDirectories="./;../;../ibm1130/"
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SIM_NEED_GIT_COMMIT_ID" PreprocessorDefinitions="GUI_SUPPORT;WIN32;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SIM_NEED_GIT_COMMIT_ID"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -128,7 +128,7 @@
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
OmitFramePointers="true" OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../ibm1130/" AdditionalIncludeDirectories="./;../;../ibm1130/"
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SIM_NEED_GIT_COMMIT_ID" PreprocessorDefinitions="GUI_SUPPORT;WIN32;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SIM_NEED_GIT_COMMIT_ID"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
@ -306,6 +306,10 @@
RelativePath="..\ibm1130\ibm1130_defs.h" RelativePath="..\ibm1130\ibm1130_defs.h"
> >
</File> </File>
<File
RelativePath="..\Ibm1130\ibm1130_fmt.h"
>
</File>
<File <File
RelativePath="..\ibm1130\ibm1130_prtwheel.h" RelativePath="..\ibm1130\ibm1130_prtwheel.h"
> >
@ -367,6 +371,46 @@
Name="Resource Files" Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
> >
<File
RelativePath="..\Ibm1130\1130consoleblank.bmp"
>
</File>
<File
RelativePath="..\Ibm1130\1132empty.bmp"
>
</File>
<File
RelativePath="..\Ibm1130\1132full.bmp"
>
</File>
<File
RelativePath="..\Ibm1130\1442empty.bmp"
>
</File>
<File
RelativePath="..\Ibm1130\1442eof.bmp"
>
</File>
<File
RelativePath="..\Ibm1130\1442full.bmp"
>
</File>
<File
RelativePath="..\Ibm1130\1442middle.bmp"
>
</File>
<File
RelativePath="..\Ibm1130\hand.cur"
>
</File>
<File
RelativePath="..\Ibm1130\ibm1130.ico"
>
</File>
<File
RelativePath="..\Ibm1130\ibm1130.rc"
>
</File>
</Filter> </Filter>
</Files> </Files>
<Globals> <Globals>

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -109,7 +109,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -109,7 +109,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -107,7 +107,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -115,7 +115,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -113,7 +113,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -113,7 +113,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -113,7 +113,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -112,7 +112,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -112,7 +112,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -112,7 +112,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -112,7 +112,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id" Description="Build Dependent ROM include File(s) &amp; Check for required build dependencies &amp; git commit id"
CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="pushd ..&#x0D;&#x0A;&quot;$(TargetDir)BuildROMs&quot;&#x0D;&#x0A;popd&#x0D;&#x0A;&#x0D;&#x0A;if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

View file

@ -27,7 +27,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
@ -108,7 +108,7 @@
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
Description="Check for required build dependencies &amp; git commit id" Description="Check for required build dependencies &amp; git commit id"
CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;" CommandLine="if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice&#x0D;&#x0A;if not exist ../../windows-build/pthreads/pthread.h goto _notice&#x0D;&#x0A;goto _good&#x0D;&#x0A;&#x0D;&#x0A;:_notice&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ** The required build support is not available. **&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;echo ****************************************************&#x0D;&#x0A;type 0ReadMe_Projects.txt&#x0D;&#x0A;exit 1&#x0D;&#x0A;&#x0D;&#x0A;:_good&#x0D;&#x0A;if not exist ..\.git goto _SetId&#x0D;&#x0A;if exist ..\.git\hooks\post-commit goto _SetId&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo ** Installing git hooks in newly cloned repository **&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;echo *****************************************************&#x0D;&#x0A;copy git-hooks\post* ..\.git\hooks\&#x0D;&#x0A;:_SetId&#x0D;&#x0A;SET GIT_COMMIT_ID=&#x0D;&#x0A;if not exist ..\.git-commit-id goto _NoId&#x0D;&#x0A;for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i&#x0D;&#x0A;:_NoId&#x0D;&#x0A;SET OLD_GIT_COMMIT_ID=&#x0D;&#x0A;if not exist .git-commit-id.h echo.&gt;.git-commit-id.h&#x0D;&#x0A;for /F &quot;tokens=3&quot; %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i&#x0D;&#x0A;if &quot;%GIT_COMMIT_ID%&quot; equ &quot;%OLD_GIT_COMMIT_ID%&quot; goto _IdGood&#x0D;&#x0A;echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% &gt;.git-commit-id.h&#x0D;&#x0A;:_IdGood&#x0D;&#x0A;"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"

BIN
doc/altairz80_doc.pdf Normal file

Binary file not shown.

Binary file not shown.

View file

@ -79,8 +79,8 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
ifeq (,$(GCC_VERSION)) ifeq (,$(GCC_VERSION))
ifeq (SunOS,$(OSTYPE)) ifeq (SunOS,$(OSTYPE))
ifneq (,$(shell $(GCC) -V 2>&1 | grep 'Sun C')) ifneq (,$(shell $(GCC) -V 2>&1 | grep 'Sun C'))
SUNC_VERSION = $(shell $(GCC) -V 2>&1 | grep 'Sun C' | awk '{ print $$4 }') SUNC_VERSION = $(shell $(GCC) -V 2>&1 | grep 'Sun C')
COMPILER_NAME = Sun C $(SUNC_VERSION) COMPILER_NAME = $(wordlist 2,10,$(SUNC_VERSION))
endif endif
endif endif
endif endif
@ -97,6 +97,18 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
endif endif
endif endif
endif endif
ifeq (git-repo,$(shell if $(TEST) -d ./.git; then echo git-repo; fi))
ifeq (need-hooks,$(shell if $(TEST) ! -e ./.git/hooks/post-checkout; then echo need-hooks; fi))
$(info *** Installing git hooks in local repository ***)
GIT_HOOKS += $(shell /bin/cp './Visual Studio Projects/git-hooks/post-commit' ./.git/hooks/)
GIT_HOOKS += $(shell /bin/cp './Visual Studio Projects/git-hooks/post-checkout' ./.git/hooks/)
GIT_HOOKS += $(shell /bin/cp './Visual Studio Projects/git-hooks/post-merge' ./.git/hooks/)
GIT_HOOKS += $(shell ./.git/hooks/post-checkout)
ifneq (,$(strip $(GIT_HOOKS)))
$(info *** Warning - Error installing git hooks *** $(GIT_HOOKS))
endif
endif
endif
LTO_EXCLUDE_VERSIONS = LTO_EXCLUDE_VERSIONS =
PCAPLIB = pcap PCAPLIB = pcap
ifeq (agcc,$(findstring agcc,$(GCC))) # Android target build? ifeq (agcc,$(findstring agcc,$(GCC))) # Android target build?
@ -111,6 +123,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
OS_CCDEFS = -D_GNU_SOURCE OS_CCDEFS = -D_GNU_SOURCE
GCC_OPTIMIZERS_CMD = $(GCC) -v --help 2>&1 GCC_OPTIMIZERS_CMD = $(GCC) -v --help 2>&1
GCC_WARNINGS_CMD = $(GCC) -v --help 2>&1 GCC_WARNINGS_CMD = $(GCC) -v --help 2>&1
LD_ELF = $(shell echo | $(GCC) -E -dM - | grep __ELF__)
ifeq (Darwin,$(OSTYPE)) ifeq (Darwin,$(OSTYPE))
OSNAME = OSX OSNAME = OSX
LIBEXT = dylib LIBEXT = dylib
@ -153,6 +166,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
PCAPLIB = wpcap PCAPLIB = wpcap
LIBEXT = a LIBEXT = a
else else
ifeq (,$(findstring NetBSD,$(OSTYPE)))
LDSEARCH :=$(shell ldconfig -r | grep 'search directories' | awk '{print $$3}' | sed 's/:/ /g') LDSEARCH :=$(shell ldconfig -r | grep 'search directories' | awk '{print $$3}' | sed 's/:/ /g')
ifneq (,$(LDSEARCH)) ifneq (,$(LDSEARCH))
LIBPATH := $(LDSEARCH) LIBPATH := $(LDSEARCH)
@ -163,6 +177,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
$(info *** Warning *** to have fully working simulators.) $(info *** Warning *** to have fully working simulators.)
$(info *** Warning ***) $(info *** Warning ***)
endif endif
endif
ifeq (usrpkglib,$(shell if $(TEST) -d /usr/pkg/lib; then echo usrpkglib; fi)) ifeq (usrpkglib,$(shell if $(TEST) -d /usr/pkg/lib; then echo usrpkglib; fi))
LIBPATH += /usr/pkg/lib LIBPATH += /usr/pkg/lib
OS_LDFLAGS += -L/usr/pkg/lib -R/usr/pkg/lib OS_LDFLAGS += -L/usr/pkg/lib -R/usr/pkg/lib
@ -303,8 +318,6 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
endif endif
endif endif
LIBEXT = $(LIBEXTSAVE) LIBEXT = $(LIBEXTSAVE)
else
$(error using libpcap: missing pcap.h)
endif endif
endif endif
ifneq (,$(findstring USE_NETWORK,$(NETWORK_CCDEFS))$(findstring USE_SHARED,$(NETWORK_CCDEFS))) ifneq (,$(findstring USE_NETWORK,$(NETWORK_CCDEFS))$(findstring USE_SHARED,$(NETWORK_CCDEFS)))
@ -360,8 +373,12 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
ifneq (binexists,$(shell if $(TEST) -e BIN; then echo binexists; fi)) ifneq (binexists,$(shell if $(TEST) -e BIN; then echo binexists; fi))
MKDIRBIN = mkdir -p BIN MKDIRBIN = mkdir -p BIN
endif endif
ifneq (,$(shell if $(TEST) -e .git-commit-id; then echo commit-id-exists; fi)) ifeq (commit-id-exists,$(shell if $(TEST) -e .git-commit-id; then echo commit-id-exists; fi))
GIT_COMMIT_ID=$(shell cat .git-commit-id) GIT_COMMIT_ID=$(shell cat .git-commit-id)
else
ifeq (,$(shell grep 'define SIM_GIT_COMMIT_ID' sim_rev.h | grep 'Format:'))
GIT_COMMIT_ID=$(shell grep 'define SIM_GIT_COMMIT_ID' sim_rev.h | awk '{ print $$3 }')
endif
endif endif
else else
#Win32 Environments (via MinGW32) #Win32 Environments (via MinGW32)
@ -411,6 +428,10 @@ else
endif endif
ifneq (,$(shell if exist .git-commit-id type .git-commit-id)) ifneq (,$(shell if exist .git-commit-id type .git-commit-id))
GIT_COMMIT_ID=$(shell if exist .git-commit-id type .git-commit-id) GIT_COMMIT_ID=$(shell if exist .git-commit-id type .git-commit-id)
else
ifeq (,$(shell findstr /C:"define SIM_GIT_COMMIT_ID" sim_rev.h | findstr Format))
GIT_COMMIT_ID=$(shell for /F "tokens=3" %%i in ("$(shell findstr /C:"define SIM_GIT_COMMIT_ID" sim_rev.h)") do echo %%i)
endif
endif endif
endif endif
ifneq (,$(GIT_COMMIT_ID)) ifneq (,$(GIT_COMMIT_ID))
@ -506,7 +527,7 @@ else
endif endif
endif endif
CC_OUTSPEC = -o $@ CC_OUTSPEC = -o $@
CC = $(GCC) $(CC_STD) -U__STRICT_ANSI__ $(CFLAGS_G) $(CFLAGS_O) $(CFLAGS_GIT) -I . $(OS_CCDEFS) $(ROMS_OPT) CC = $(GCC) $(CC_STD) -U__STRICT_ANSI__ $(CFLAGS_G) $(CFLAGS_O) $(CFLAGS_GIT) -DSIM_COMPILER="$(COMPILER_NAME)" -I . $(OS_CCDEFS) $(ROMS_OPT)
LDFLAGS = $(OS_LDFLAGS) $(NETWORK_LDFLAGS) $(LDFLAGS_O) LDFLAGS = $(OS_LDFLAGS) $(NETWORK_LDFLAGS) $(LDFLAGS_O)
# #
@ -733,6 +754,9 @@ IBM1130 = ${IBM1130D}/ibm1130_cpu.c ${IBM1130D}/ibm1130_cr.c \
${IBM1130D}/ibm1130_plot.c ${IBM1130D}/ibm1130_sca.c \ ${IBM1130D}/ibm1130_plot.c ${IBM1130D}/ibm1130_sca.c \
${IBM1130D}/ibm1130_t2741.c ${IBM1130D}/ibm1130_t2741.c
IBM1130_OPT = -I ${IBM1130D} IBM1130_OPT = -I ${IBM1130D}
ifneq ($(WIN32),)
IBM1130_OPT += -DGUI_SUPPORT -lgdi32
endif
ID16D = Interdata ID16D = Interdata
@ -1017,7 +1041,13 @@ ibm1130 : ${BIN}ibm1130${EXE}
${BIN}ibm1130${EXE} : ${IBM1130} ${BIN}ibm1130${EXE} : ${IBM1130}
${MKDIRBIN} ${MKDIRBIN}
ifneq ($(WIN32),)
windres ${IBM1130D}/ibm1130.rc $(BIN)ibm1130.o
${CC} ${IBM1130} ${SIM} ${IBM1130_OPT} $(BIN)ibm1130.o $(CC_OUTSPEC) ${LDFLAGS}
del BIN\ibm1130.o
else
${CC} ${IBM1130} ${SIM} ${IBM1130_OPT} $(CC_OUTSPEC) ${LDFLAGS} ${CC} ${IBM1130} ${SIM} ${IBM1130_OPT} $(CC_OUTSPEC) ${LDFLAGS}
endif
s3 : ${BIN}s3${EXE} s3 : ${BIN}s3${EXE}

111
scp.c
View file

@ -392,7 +392,7 @@ BRKTAB *sim_brk_new (t_addr loc);
SCHTAB *get_search (char *cptr, int32 radix, SCHTAB *schptr); SCHTAB *get_search (char *cptr, int32 radix, SCHTAB *schptr);
int32 test_search (t_value val, SCHTAB *schptr); int32 test_search (t_value val, SCHTAB *schptr);
char *get_glyph_gen (char *iptr, char *optr, char mchar, t_bool uc); static char *get_glyph_gen (char *iptr, char *optr, char mchar, t_bool uc, t_bool quote);
int32 get_switches (char *cptr); int32 get_switches (char *cptr);
char *get_sim_sw (char *cptr); char *get_sim_sw (char *cptr);
t_stat get_aval (t_addr addr, DEVICE *dptr, UNIT *uptr); t_stat get_aval (t_addr addr, DEVICE *dptr, UNIT *uptr);
@ -730,7 +730,7 @@ static CTAB cmd_table[] = {
"sh{ow} a{synch} show asynchronouse I/O state\n" "sh{ow} a{synch} show asynchronouse I/O state\n"
"sh{ow} ve{rsion} show simulator version\n" "sh{ow} ve{rsion} show simulator version\n"
"sh{ow} def{ault} show current directory\n" "sh{ow} def{ault} show current directory\n"
"sh{ow} rem{oteconsole} show remote console configuration\n" "sh{ow} re{mote} show remote console configuration\n"
"sh{ow} <dev> RADIX show device display radix\n" "sh{ow} <dev> RADIX show device display radix\n"
"sh{ow} <dev> DEBUG show device debug flags\n" "sh{ow} <dev> DEBUG show device debug flags\n"
"sh{ow} <dev> MODIFIERS show device modifiers\n" "sh{ow} <dev> MODIFIERS show device modifiers\n"
@ -1648,7 +1648,6 @@ do {
cmdp->message ((!echo && !sim_quiet) ? ocptr : NULL, stat); cmdp->message ((!echo && !sim_quiet) ? ocptr : NULL, stat);
else else
if (stat >= SCPE_BASE) { /* report error if not suppressed */ if (stat >= SCPE_BASE) { /* report error if not suppressed */
printf ("%s\n", sim_error_text (stat)); printf ("%s\n", sim_error_text (stat));
if (sim_log) if (sim_log)
fprintf (sim_log, "%s\n", sim_error_text (stat)); fprintf (sim_log, "%s\n", sim_error_text (stat));
@ -1787,10 +1786,10 @@ for (; *ip && (op < oend); ) {
} }
else { /* environment variable */ else { /* environment variable */
ap = NULL; ap = NULL;
get_glyph_gen (ip+1, gbuf, '%', FALSE); /* first try using the literal name */ get_glyph_nc (ip+1, gbuf, '%'); /* first try using the literal name */
ap = getenv(gbuf); ap = getenv(gbuf);
if (!ap) { if (!ap) {
get_glyph_gen (ip+1, gbuf, '%', TRUE); /* now try using the upcased name */ get_glyph (ip+1, gbuf, '%'); /* now try using the upcased name */
ap = getenv(gbuf); ap = getenv(gbuf);
} }
ip += 1 + strlen (gbuf); ip += 1 + strlen (gbuf);
@ -1847,7 +1846,7 @@ for (; *ip && (op < oend); ) {
} }
else else
if (ip == istart) { /* at beginning of input? */ if (ip == istart) { /* at beginning of input? */
get_glyph_gen (instr, gbuf, 0, TRUE); /* substitute initial token */ get_glyph (instr, gbuf, 0); /* substitute initial token */
ap = getenv(gbuf); /* if it is an environment variable name */ ap = getenv(gbuf); /* if it is an environment variable name */
if (!ap) { /* nope? */ if (!ap) { /* nope? */
*op++ = *ip++; /* press on with literal character */ *op++ = *ip++; /* press on with literal character */
@ -2189,7 +2188,7 @@ char varname[CBUFSIZE];
if ((!cptr) || (*cptr == 0)) /* now eol? */ if ((!cptr) || (*cptr == 0)) /* now eol? */
return SCPE_2FARG; return SCPE_2FARG;
cptr = get_glyph_gen (cptr, varname, '=', TRUE); /* get environment variable name */ cptr = get_glyph (cptr, varname, '='); /* get environment variable name */
setenv(varname, cptr, 1); setenv(varname, cptr, 1);
return SCPE_OK; return SCPE_OK;
} }
@ -2198,7 +2197,7 @@ return SCPE_OK;
t_stat set_cmd (int32 flag, char *cptr) t_stat set_cmd (int32 flag, char *cptr)
{ {
uint32 lvl; uint32 lvl = 0;
t_stat r; t_stat r;
char gbuf[CBUFSIZE], *cvptr, *svptr; char gbuf[CBUFSIZE], *cvptr, *svptr;
DEVICE *dptr; DEVICE *dptr;
@ -2303,11 +2302,18 @@ while (*cptr != 0) { /* do all mods */
if ((lvl == MTAB_VUN) && (uptr->flags & UNIT_DIS)) if ((lvl == MTAB_VUN) && (uptr->flags & UNIT_DIS))
return SCPE_UDIS; /* unit disabled? */ return SCPE_UDIS; /* unit disabled? */
if (mptr->valid) { /* validation rtn? */ if (mptr->valid) { /* validation rtn? */
if (cvptr && MODMASK(mptr,MTAB_QUOTE)) {
get_glyph_quoted (svptr, gbuf, ',');
if ((cvptr = strchr (gbuf, '=')))
*cvptr++ = 0;
}
else {
if (cvptr && MODMASK(mptr,MTAB_NC)) { if (cvptr && MODMASK(mptr,MTAB_NC)) {
get_glyph_nc (svptr, gbuf, ','); get_glyph_nc (svptr, gbuf, ',');
if ((cvptr = strchr (gbuf, '='))) if ((cvptr = strchr (gbuf, '=')))
*cvptr++ = 0; *cvptr++ = 0;
} }
}
r = mptr->valid (uptr, mptr->match, cvptr, mptr->desc); r = mptr->valid (uptr, mptr->match, cvptr, mptr->desc);
if (r != SCPE_OK) if (r != SCPE_OK)
return r; return r;
@ -2778,6 +2784,24 @@ if (flag) {
fprintf (st, "\n\t\tAsynchronous Clock support"); fprintf (st, "\n\t\tAsynchronous Clock support");
#endif #endif
fprintf (st, "\n\tHost Platform:"); fprintf (st, "\n\tHost Platform:");
#if defined (__clang_version__)
fprintf (st, "\n\t\tCompiler: clang %s", __clang_version__);
#elif defined (__GNUC__) && defined (__VERSION__)
fprintf (st, "\n\t\tCompiler: GCC %s", __VERSION__);
#elif defined (_MSC_FULL_VER) && defined (_MSC_BUILD)
fprintf (st, "\n\t\tCompiler: Microsoft Visual C++ %d.%02d.%05d.%02d", _MSC_FULL_VER/10000000, (_MSC_FULL_VER/100000)%100, _MSC_FULL_VER%100000, _MSC_BUILD);
#elif defined (__DECC_VER)
fprintf (st, "\n\t\tCompiler: DEC C %c%d.%d-%03d", ("T SV")[((__DECC_VER/10000)%10)-6], __DECC_VER/10000000, (__DECC_VER/100000)%100, __DECC_VER%10000);
#elif defined (SIM_COMPILER)
#define S_xstr(a) S_str(a)
#define S_str(a) #a
fprintf (st, "\n\t\tCompiler: %s", S_xstr(SIM_COMPILER));
#undef S_str
#undef S_xstr
#endif
#if defined (__DATE__) && defined (__TIME__)
fprintf (st, "\n\t\tSimulator Compiled: %s at %s", __DATE__, __TIME__);
#endif
fprintf (st, "\n\t\tMemory Access: %s Endian", sim_end ? "Little" : "Big"); fprintf (st, "\n\t\tMemory Access: %s Endian", sim_end ? "Little" : "Big");
fprintf (st, "\n\t\tMemory Pointer Size: %d bits", (int)sizeof(dptr)*8); fprintf (st, "\n\t\tMemory Pointer Size: %d bits", (int)sizeof(dptr)*8);
fprintf (st, "\n\t\t%s", sim_toffset_64 ? "Large File (>2GB) support" : "No Large File support"); fprintf (st, "\n\t\t%s", sim_toffset_64 ? "Large File (>2GB) support" : "No Large File support");
@ -2799,6 +2823,15 @@ if (flag) {
#define S_xstr(a) S_str(a) #define S_xstr(a) S_str(a)
#define S_str(a) #a #define S_str(a) #a
fprintf (st, "%sgit commit id: %8.8s", flag ? "\n " : " ", S_xstr(SIM_GIT_COMMIT_ID)); fprintf (st, "%sgit commit id: %8.8s", flag ? "\n " : " ", S_xstr(SIM_GIT_COMMIT_ID));
#undef S_str
#undef S_xstr
#endif
#if defined(SIM_BUILD)
#define S_xstr(a) S_str(a)
#define S_str(a) #a
fprintf (st, "%sBuild: %s", flag ? "\n " : " ", S_xstr(SIM_BUILD));
#undef S_str
#undef S_xstr
#endif #endif
fprintf (st, "\n"); fprintf (st, "\n");
return SCPE_OK; return SCPE_OK;
@ -3371,10 +3404,22 @@ if (sim_switches & SWMASK ('R')) { /* read only? */
if (!sim_quiet) if (!sim_quiet)
printf ("%s: unit is read only\n", sim_dname (dptr)); printf ("%s: unit is read only\n", sim_dname (dptr));
} }
else {
if (sim_switches & SWMASK ('N')) { /* new file only? */
uptr->fileref = sim_fopen (cptr, "wb+"); /* open new file */
if (uptr->fileref == NULL) /* open fail? */
return attach_err (uptr, SCPE_OPENERR); /* yes, error */
if (!sim_quiet)
printf ("%s: creating new file\n", sim_dname (dptr));
}
else { /* normal */ else { /* normal */
uptr->fileref = sim_fopen (cptr, "rb+"); /* open r/w */ uptr->fileref = sim_fopen (cptr, "rb+"); /* open r/w */
if (uptr->fileref == NULL) { /* open fail? */ if (uptr->fileref == NULL) { /* open fail? */
#if defined(EPERM)
if ((errno == EROFS) || (errno == EACCES) || (errno == EPERM)) {/* read only? */
#else
if ((errno == EROFS) || (errno == EACCES)) {/* read only? */ if ((errno == EROFS) || (errno == EACCES)) {/* read only? */
#endif
if ((uptr->flags & UNIT_ROABLE) == 0) /* allowed? */ if ((uptr->flags & UNIT_ROABLE) == 0) /* allowed? */
return attach_err (uptr, SCPE_NORO);/* no error */ return attach_err (uptr, SCPE_NORO);/* no error */
uptr->fileref = sim_fopen (cptr, "rb"); /* open rd only */ uptr->fileref = sim_fopen (cptr, "rb"); /* open rd only */
@ -3390,10 +3435,12 @@ else { /* normal */
uptr->fileref = sim_fopen (cptr, "wb+");/* open new file */ uptr->fileref = sim_fopen (cptr, "wb+");/* open new file */
if (uptr->fileref == NULL) /* open fail? */ if (uptr->fileref == NULL) /* open fail? */
return attach_err (uptr, SCPE_OPENERR); /* yes, error */ return attach_err (uptr, SCPE_OPENERR); /* yes, error */
if (!sim_quiet) printf ("%s: creating new file\n", sim_dname (dptr)); if (!sim_quiet)
printf ("%s: creating new file\n", sim_dname (dptr));
} }
} /* end if null */ } /* end if null */
} /* end else */ } /* end else */
}
if (uptr->flags & UNIT_BUFABLE) { /* buffer? */ if (uptr->flags & UNIT_BUFABLE) { /* buffer? */
uint32 cap = ((uint32) uptr->capac) / dptr->aincr; /* effective size */ uint32 cap = ((uint32) uptr->capac) / dptr->aincr; /* effective size */
if (uptr->flags & UNIT_MUSTBUF) /* dyn alloc? */ if (uptr->flags & UNIT_MUSTBUF) /* dyn alloc? */
@ -4304,6 +4351,7 @@ return sim_cancel (&sim_step_unit);
void int_handler (int sig) void int_handler (int sig)
{ {
stop_cpu = 1; stop_cpu = 1;
sim_interval = 0; /* should speed up stop detection */
return; return;
} }
@ -5050,20 +5098,38 @@ return cptr;
/* get_glyph get next glyph (force upper case) /* get_glyph get next glyph (force upper case)
get_glyph_nc get next glyph (no conversion) get_glyph_nc get next glyph (no conversion)
get_glyph_quoted get next glyph (potentially enclosed in quotes, no conversion)
get_glyph_gen get next glyph (general case) get_glyph_gen get next glyph (general case)
Inputs: Inputs:
iptr = pointer to input string iptr = pointer to input string
optr = pointer to output string optr = pointer to output string
mchar = optional end of glyph character mchar = optional end of glyph character
flag = TRUE for convert to upper case (_gen only) uc = TRUE for convert to upper case (_gen only)
quote = TRUE to allow quote enclosing values (_gen only)
Outputs Outputs
result = pointer to next character in input string result = pointer to next character in input string
*/ */
char *get_glyph_gen (char *iptr, char *optr, char mchar, t_bool uc) static char *get_glyph_gen (char *iptr, char *optr, char mchar, t_bool uc, t_bool quote)
{ {
while ((isspace (*iptr) == 0) && (*iptr != 0) && (*iptr != mchar)) { t_bool quoting = FALSE;
char quote_char = 0;
while ((*iptr != 0) &&
((quote && quoting) || ((isspace (*iptr) == 0) && (*iptr != mchar)))) {
if (quote) {
if (quoting) {
if (*iptr == quote_char)
quoting = FALSE;
}
else {
if ((*iptr == '"') || (*iptr == '\'')) {
quoting = TRUE;
quote_char = *iptr;
}
}
}
if (islower (*iptr) && uc) if (islower (*iptr) && uc)
*optr = toupper (*iptr); *optr = toupper (*iptr);
else *optr = *iptr; else *optr = *iptr;
@ -5079,12 +5145,17 @@ return iptr;
char *get_glyph (char *iptr, char *optr, char mchar) char *get_glyph (char *iptr, char *optr, char mchar)
{ {
return get_glyph_gen (iptr, optr, mchar, TRUE); return get_glyph_gen (iptr, optr, mchar, TRUE, FALSE);
} }
char *get_glyph_nc (char *iptr, char *optr, char mchar) char *get_glyph_nc (char *iptr, char *optr, char mchar)
{ {
return get_glyph_gen (iptr, optr, mchar, FALSE); return get_glyph_gen (iptr, optr, mchar, FALSE, FALSE);
}
char *get_glyph_quoted (char *iptr, char *optr, char mchar)
{
return get_glyph_gen (iptr, optr, mchar, FALSE, TRUE);
} }
/* Trim trailing spaces from a string /* Trim trailing spaces from a string
@ -6578,7 +6649,7 @@ if (sim_deb && (dptr->dctrl & dbits)) {
#endif /* NO_vsnprintf */ #endif /* NO_vsnprintf */
va_end (arglist); va_end (arglist);
/* If it didn't fit into the buffer, then grow it and try again */ /* If the formatted result didn't fit into the buffer, then grow the buffer and try again */
if ((len < 0) || (len >= bufsize-1)) { if ((len < 0) || (len >= bufsize-1)) {
if (buf != stackbuf) if (buf != stackbuf)
@ -6609,8 +6680,14 @@ if (sim_deb && (dptr->dctrl & dbits)) {
j = i + 1; j = i + 1;
} }
} }
if (i > j) if (i > j) {
fwrite (&buf[j], 1, i-j, sim_deb); if (debug_unterm)
fprintf (sim_deb, "%.*s", i-j, &buf[j]);
else /* print prefix when required */
fprintf (sim_deb, "DBG(%.0f)%s> %s %s: %.*s", sim_gtime(),
AIO_MAIN_THREAD ? "" : "+",
dptr->name, debug_type, i-j, &buf[j]);
}
/* Set unterminated flag for next time */ /* Set unterminated flag for next time */

3
scp.h
View file

@ -111,11 +111,13 @@ t_stat get_yn (char *ques, t_stat deflt);
char *get_sim_opt (int32 opt, char *cptr, t_stat *st); char *get_sim_opt (int32 opt, char *cptr, t_stat *st);
char *get_glyph (char *iptr, char *optr, char mchar); char *get_glyph (char *iptr, char *optr, char mchar);
char *get_glyph_nc (char *iptr, char *optr, char mchar); char *get_glyph_nc (char *iptr, char *optr, char mchar);
char *get_glyph_quoted (char *iptr, char *optr, char mchar);
t_value get_uint (char *cptr, uint32 radix, t_value max, t_stat *status); t_value get_uint (char *cptr, uint32 radix, t_value max, t_stat *status);
char *get_range (DEVICE *dptr, char *cptr, t_addr *lo, t_addr *hi, char *get_range (DEVICE *dptr, char *cptr, t_addr *lo, t_addr *hi,
uint32 rdx, t_addr max, char term); uint32 rdx, t_addr max, char term);
t_value strtotv (const char *cptr, char **endptr, uint32 radix); t_value strtotv (const char *cptr, char **endptr, uint32 radix);
t_stat fprint_val (FILE *stream, t_value val, uint32 rdx, uint32 wid, uint32 fmt); t_stat fprint_val (FILE *stream, t_value val, uint32 rdx, uint32 wid, uint32 fmt);
char *read_line (char *cptr, int32 size, FILE *stream);
void fprint_reg_help (FILE *st, DEVICE *dptr); void fprint_reg_help (FILE *st, DEVICE *dptr);
void fprint_set_help (FILE *st, DEVICE *dptr); void fprint_set_help (FILE *st, DEVICE *dptr);
void fprint_show_help (FILE *st, DEVICE *dptr); void fprint_show_help (FILE *st, DEVICE *dptr);
@ -165,6 +167,7 @@ extern FILE *sim_deb; /* debug file */
extern FILEREF *sim_deb_ref; /* debug file file reference */ extern FILEREF *sim_deb_ref; /* debug file file reference */
extern UNIT *sim_clock_queue; extern UNIT *sim_clock_queue;
extern int32 sim_is_running; extern int32 sim_is_running;
extern char *sim_prompt; /* prompt string */
extern volatile int32 stop_cpu; extern volatile int32 stop_cpu;
extern uint32 sim_brk_types; /* breakpoint info */ extern uint32 sim_brk_types; /* breakpoint info */
extern uint32 sim_brk_dflt; extern uint32 sim_brk_dflt;

View file

@ -2089,7 +2089,7 @@ static t_bool sim_os_ttisatty (void)
return isatty (0); return isatty (0);
} }
static static t_stat sim_os_poll_kbd (void) static t_stat sim_os_poll_kbd (void)
{ {
int status; int status;
unsigned char buf[1]; unsigned char buf[1];

View file

@ -90,7 +90,6 @@ t_stat sim_ttrun (void);
t_stat sim_ttcmd (void); t_stat sim_ttcmd (void);
t_stat sim_ttclose (void); t_stat sim_ttclose (void);
t_bool sim_ttisatty (void); t_bool sim_ttisatty (void);
t_stat sim_os_poll_kbd (void);
int32 sim_tt_inpcvt (int32 c, uint32 mode); int32 sim_tt_inpcvt (int32 c, uint32 mode);
int32 sim_tt_outcvt (int32 c, uint32 mode); int32 sim_tt_outcvt (int32 c, uint32 mode);

View file

@ -562,7 +562,8 @@ struct sim_mtab {
#define MTAB_VALO (0010 | MTAB_XTD) /* takes a value (optional) */ #define MTAB_VALO (0010 | MTAB_XTD) /* takes a value (optional) */
#define MTAB_NMO (0020 | MTAB_XTD) /* only if named */ #define MTAB_NMO (0020 | MTAB_XTD) /* only if named */
#define MTAB_NC (0040 | MTAB_XTD) /* no UC conversion */ #define MTAB_NC (0040 | MTAB_XTD) /* no UC conversion */
#define MTAB_SHP (0100 | MTAB_XTD) /* show takes parameter */ #define MTAB_QUOTE (0100 | MTAB_XTD) /* quoted string */
#define MTAB_SHP (0200 | MTAB_XTD) /* show takes parameter */
#define MODMASK(mptr,flag) (((mptr)->mask & (uint32)(flag)) == (uint32)(flag))/* flag mask test */ #define MODMASK(mptr,flag) (((mptr)->mask & (uint32)(flag)) == (uint32)(flag))/* flag mask test */
/* Search table */ /* Search table */
@ -721,7 +722,7 @@ extern int32 sim_asynch_latency;
extern int32 sim_asynch_inst_latency; extern int32 sim_asynch_inst_latency;
/* Thread local storage */ /* Thread local storage */
#if defined(__GNUC__) && !defined(__APPLE__) && !defined(__hpux) #if defined(__GNUC__) && !defined(__APPLE__) && !defined(__hpux) && !defined(__OpenBSD__)
#define AIO_TLS __thread #define AIO_TLS __thread
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
#define AIO_TLS __declspec(thread) #define AIO_TLS __declspec(thread)

View file

@ -534,7 +534,7 @@ t_stat sim_disk_rdsect (UNIT *uptr, t_lba lba, uint8 *buf, t_seccnt *sectsread,
{ {
t_stat r; t_stat r;
struct disk_context *ctx = (struct disk_context *)uptr->disk_ctx; struct disk_context *ctx = (struct disk_context *)uptr->disk_ctx;
t_seccnt sread; t_seccnt sread = 0;
sim_debug (ctx->dbit, ctx->dptr, "sim_disk_rdsect(unit=%d, lba=0x%X, sects=%d)\n", (int)(uptr-ctx->dptr->units), lba, sects); sim_debug (ctx->dbit, ctx->dptr, "sim_disk_rdsect(unit=%d, lba=0x%X, sects=%d)\n", (int)(uptr-ctx->dptr->units), lba, sects);
@ -1970,10 +1970,17 @@ fsync ((int)((long)f));
static t_offset sim_os_disk_size_raw (FILE *f) static t_offset sim_os_disk_size_raw (FILE *f)
{ {
#if defined (DONT_DO_LARGEFILE)
struct stat statb;
if (fstat ((int)((long)f), &statb))
return (t_offset)-1;
#else
struct stat64 statb; struct stat64 statb;
if (fstat64 ((int)((long)f), &statb)) if (fstat64 ((int)((long)f), &statb))
return (t_offset)-1; return (t_offset)-1;
#endif
return (t_offset)statb.st_size; return (t_offset)statb.st_size;
} }
@ -2185,10 +2192,10 @@ typedef t_int64 int64;
typedef struct _VHD_Footer { typedef struct _VHD_Footer {
/* /*
Cookies are used to uniquely identify the original creator of the hard disk Cookies are used to uniquely identify the original creator of the hard disk
image. The values are case-sensitive. Microsoft uses the conectix string image. The values are case-sensitive. Microsoft uses the "conectix" string
to identify this file as a hard disk image created by Microsoft Virtual to identify this file as a hard disk image created by Microsoft Virtual
Server, Virtual PC, and predecessor products. The cookie is stored as an Server, Virtual PC, and predecessor products. The cookie is stored as an
eight-character ASCII string with the c in the first byte, the o in eight-character ASCII string with the "c" in the first byte, the "o" in
the second byte, and so on. the second byte, and so on.
*/ */
char Cookie[8]; char Cookie[8];
@ -2303,7 +2310,7 @@ typedef struct _VHD_Footer {
uint32 DiskType; uint32 DiskType;
/* /*
This field holds a basic checksum of the hard disk footer. It is just a This field holds a basic checksum of the hard disk footer. It is just a
ones complement of the sum of all the bytes in the footer without the one's complement of the sum of all the bytes in the footer without the
checksum field. checksum field.
If the checksum verification fails, the Virtual PC and Virtual Server If the checksum verification fails, the Virtual PC and Virtual Server
products will instead use the header. If the checksum in the header also products will instead use the header. If the checksum in the header also
@ -2342,7 +2349,7 @@ typedef struct _VHD_Footer {
} VHD_Footer; } VHD_Footer;
/* /*
For dynamic and differencing disk images, the Data Offset field within For dynamic and differencing disk images, the "Data Offset" field within
the image footer points to a secondary structure that provides additional the image footer points to a secondary structure that provides additional
information about the disk image. The dynamic disk header should appear on information about the disk image. The dynamic disk header should appear on
a sector (512-byte) boundary. a sector (512-byte) boundary.
@ -2389,7 +2396,7 @@ typedef struct _VHD_DynamicDiskHeader {
*/ */
uint32 BlockSize; uint32 BlockSize;
/* /*
This field holds a basic checksum of the dynamic header. It is a ones This field holds a basic checksum of the dynamic header. It is a one's
complement of the sum of all the bytes in the header without the checksum complement of the sum of all the bytes in the header without the checksum
field. field.
If the checksum verification fails the file should be assumed to be corrupt. If the checksum verification fails the file should be assumed to be corrupt.
@ -2398,7 +2405,7 @@ typedef struct _VHD_DynamicDiskHeader {
/* /*
This field is used for differencing hard disks. A differencing hard disk This field is used for differencing hard disks. A differencing hard disk
stores a 128-bit UUID of the parent hard disk. For more information, see stores a 128-bit UUID of the parent hard disk. For more information, see
Creating Differencing Hard Disk Images later in this paper. "Creating Differencing Hard Disk Images" later in this paper.
*/ */
uint8 ParentUniqueID[16]; uint8 ParentUniqueID[16];
/* /*
@ -2424,8 +2431,8 @@ typedef struct _VHD_DynamicDiskHeader {
/* /*
The platform code describes which platform-specific format is used for the The platform code describes which platform-specific format is used for the
file locator. For Windows, a file locator is stored as a path (for example. file locator. For Windows, a file locator is stored as a path (for example.
c:\disksimages\ParentDisk.vhd). On a Macintosh system, the file locator "c:\disksimages\ParentDisk.vhd"). On a Macintosh system, the file locator
is a binary large object (blob) that contains an alias. The parent locator is a binary large object (blob) that contains an "alias." The parent locator
table is used to support moving hard disk images across platforms. table is used to support moving hard disk images across platforms.
Some current platform codes include the following: Some current platform codes include the following:
Platform Code Description Platform Code Description

View file

@ -2009,41 +2009,41 @@ sim_debug(dev->dbit, dev->dptr, "Determining Address Conflict for MAC address: %
be affected by an address conflict were physically present on a single be affected by an address conflict were physically present on a single
Ethernet cable which might have been extended by a couple of repeaters). Ethernet cable which might have been extended by a couple of repeaters).
Since that time, essentially no networks are single collision domains. Since that time, essentially no networks are single collision domains.
Thick and thinwire Ethernet cables dont exist and very few networks Thick and thinwire Ethernet cables don't exist and very few networks
even have hubs. Today, essentially all LANs are deployed using one even have hubs. Today, essentially all LANs are deployed using one
or more layers of network switches. In a switched LAN environment, the or more layers of network switches. In a switched LAN environment, the
switches on the LAN learn which ports on the LAN source traffic from switches on the LAN "learn" which ports on the LAN source traffic from
which MAC addresses and then forward traffic destined for particular which MAC addresses and then forward traffic destined for particular
MAC address to the appropriate ports. If a particular MAC address is MAC address to the appropriate ports. If a particular MAC address is
already in use somewhere on the LAN, then the switches know where already in use somewhere on the LAN, then the switches "know" where
it is. The host based test using the loopback protocol is poorly it is. The host based test using the loopback protocol is poorly
designed to detect this condition. This test is performed by the host designed to detect this condition. This test is performed by the host
first changing the devices Physical MAC address to the address which first changing the device's Physical MAC address to the address which
is to be tested, and then sending a loopback packet FROM AND TO this is to be tested, and then sending a loopback packet FROM AND TO this
MAC address with a loopback reply to be sent by a system which may be MAC address with a loopback reply to be sent by a system which may be
currently using the MAC address. If no reply is received, then the currently using the MAC address. If no reply is received, then the
MAC address is presumed to be unused. The sending of this packet will MAC address is presumed to be unused. The sending of this packet will
result in its delivery to the right system since the switch port/MAC result in its delivery to the right system since the switch port/MAC
address tables know where to deliver packets destined to this MAC address tables know where to deliver packets destined to this MAC
address, however the response it generates wont be delivered to the address, however the response it generates won't be delivered to the
system performing the test since the switches on the LAN wont know system performing the test since the switches on the LAN won't know
about the local port being the right target for packets with this MAC about the local port being the right target for packets with this MAC
address. A better test design to detect these conflicts would be for address. A better test design to detect these conflicts would be for
the testing system to send a loopback packet FROM the current physical the testing system to send a loopback packet FROM the current physical
MAC address (BEFORE changing it) TO the MAC address being tested with MAC address (BEFORE changing it) TO the MAC address being tested with
the loopback response coming to the current physical MAC address of the loopback response coming to the current physical MAC address of
the device. If a response is received, then the address is in use and the device. If a response is received, then the address is in use and
the attempt to change the devices MAC address should fail. Since we the attempt to change the device's MAC address should fail. Since we
cant change the software running in these simulators to implement this can't change the software running in these simulators to implement this
better conflict detection approach, we can still do the right thing better conflict detection approach, we can still "do the right thing"
in the sim_ether layer. Were already handling the loopback test in the sim_ether layer. We're already handling the loopback test
packets specially since we always had to avoid receiving the packets packets specially since we always had to avoid receiving the packets
which were being sent, but needed to allow for the incoming loopback which were being sent, but needed to allow for the incoming loopback
packets to be properly dealt with. We can extend this current special packets to be properly dealt with. We can extend this current special
handling to change outgoing loopback to self packets to have source handling to change outgoing "loopback to self" packets to have source
AND loopback destination addresses in the packets to be the host NICs AND loopback destination addresses in the packets to be the host NIC's
physical address. The switch network will already know the correct physical address. The switch network will already know the correct
MAC/port relationship for the host NICs physical address, so loopback MAC/port relationship for the host NIC's physical address, so loopback
response packets will be delivered as needed. response packets will be delivered as needed.
Code in _eth_write and _eth_callback provide the special handling to Code in _eth_write and _eth_callback provide the special handling to

View file

@ -78,7 +78,7 @@
#endif #endif
/* cygwin dowsn't have the right features to use the threaded network I/O */ /* cygwin dowsn't have the right features to use the threaded network I/O */
#if defined(__CYGWIN__) #if defined(__CYGWIN__) || defined(__ZAURUS__) // psco added check for Zaurus platform
#define DONT_USE_READER_THREAD #define DONT_USE_READER_THREAD
#endif #endif

View file

@ -224,13 +224,14 @@ FILE *sim_fopen (const char *file, const char *mode)
#if defined (VMS) #if defined (VMS)
return fopen (file, mode, "ALQ=32", "DEQ=4096", return fopen (file, mode, "ALQ=32", "DEQ=4096",
"MBF=6", "MBC=127", "FOP=cbt,tef", "ROP=rah,wbh", "CTX=stm"); "MBF=6", "MBC=127", "FOP=cbt,tef", "ROP=rah,wbh", "CTX=stm");
#elif defined (__linux) || defined (__linux__) || defined (__hpux) #elif (defined (__linux) || defined (__linux__) || defined (__hpux)) && !defined (DONT_DO_LARGEFILE)
return fopen64 (file, mode); return fopen64 (file, mode);
#else #else
return fopen (file, mode); return fopen (file, mode);
#endif #endif
} }
#if !defined (DONT_DO_LARGEFILE)
/* 64b VMS */ /* 64b VMS */
#if ((defined (__ALPHA) || defined (__ia64)) && defined (VMS) && (__DECC_VER >= 60590001)) || \ #if ((defined (__ALPHA) || defined (__ia64)) && defined (VMS) && (__DECC_VER >= 60590001)) || \
@ -328,7 +329,7 @@ return (t_offset)(ftello64 (st));
/* Apple OS/X */ /* Apple OS/X */
#if defined (__APPLE__) || defined (__FreeBSD__) #if defined (__APPLE__) || defined (__FreeBSD__) || defined(__NetBSD__) || defined (__OpenBSD__)
#define S_SIM_IO_FSEEK_EXT_ 1 #define S_SIM_IO_FSEEK_EXT_ 1
int sim_fseeko (FILE *st, t_offset xpos, int origin) int sim_fseeko (FILE *st, t_offset xpos, int origin)
{ {
@ -341,6 +342,7 @@ return (t_offset)(ftello (st));
} }
#endif /* end Apple OS/X */ #endif /* end Apple OS/X */
#endif /* !DONT_DO_LARGEFILE */
/* Default: no OS-specific routine has been defined */ /* Default: no OS-specific routine has been defined */

View file

@ -38,13 +38,17 @@
#define fxwrite(a,b,c,d) sim_fwrite (a, b, c, d) #define fxwrite(a,b,c,d) sim_fwrite (a, b, c, d)
int32 sim_finit (void); int32 sim_finit (void);
#if defined (__linux) || defined (__linux__) || defined (__hpux) || \ #if (defined (__linux) || defined (__linux__) || defined (__hpux) || \
(defined (VMS) && (defined (__ALPHA) || defined (__ia64)) && (__DECC_VER >= 60590001)) || \ (defined (VMS) && (defined (__ALPHA) || defined (__ia64)) && (__DECC_VER >= 60590001)) || \
((defined(__sun) || defined(__sun__)) && defined(_LARGEFILE_SOURCE)) || \ ((defined(__sun) || defined(__sun__)) && defined(_LARGEFILE_SOURCE)) || \
defined (_WIN32) || defined (__APPLE__) || defined (__FreeBSD__) defined (_WIN32) || defined (__APPLE__) || \
defined (__FreeBSD__) || defined(__NetBSD__) || defined (__OpenBSD__)) && !defined (DONT_DO_LARGEFILE)
typedef t_int64 t_offset; typedef t_int64 t_offset;
#else #else
typedef int32 t_offset; typedef int32 t_offset;
#if !defined (DONT_DO_LARGEFILE)
#define DONT_DO_LARGEFILE 1
#endif
#endif #endif
FILE *sim_fopen (const char *file, const char *mode); FILE *sim_fopen (const char *file, const char *mode);
int sim_fseek (FILE *st, t_addr offset, int whence); int sim_fseek (FILE *st, t_addr offset, int whence);

View file

@ -48,6 +48,10 @@
#include ".git-commit-id.h" #include ".git-commit-id.h"
#endif #endif
#if !defined(SIM_GIT_COMMIT_ID)
#define SIM_GIT_COMMIT_ID $Format:%H$
#endif
/* /*
The comment section below reflects the manual editing process which was in place The comment section below reflects the manual editing process which was in place
prior to the use of the git source control system on at https://gihub.com/simh/simh prior to the use of the git source control system on at https://gihub.com/simh/simh

View file

@ -123,10 +123,37 @@ return;
/* UNIX, Win32, Macintosh, VMS, OS2 (Berkeley socket) routines */ /* UNIX, Win32, Macintosh, VMS, OS2 (Berkeley socket) routines */
static struct sock_errors {
int32 value;
char *text;
} sock_errors[] = {
{WSAEWOULDBLOCK, "Operation would block"},
{WSAENAMETOOLONG, "File name too long"},
{WSAEINPROGRESS, "Operation now in progress "},
{WSAETIMEDOUT, "Connection timed out"},
{WSAEISCONN, "Transport endpoint is already connected"},
{WSAECONNRESET, "Connection reset by peer"},
{WSAECONNREFUSED, "Connection refused"},
{WSAEHOSTUNREACH, "No route to host"},
{WSAEADDRINUSE, "Address already in use "},
{WSAEACCES, "Permission denied"},
{0, NULL}
};
SOCKET sim_err_sock (SOCKET s, char *emsg, int32 flg) SOCKET sim_err_sock (SOCKET s, char *emsg, int32 flg)
{ {
int32 err = WSAGetLastError (); int32 err = WSAGetLastError ();
int32 i;
for (i=0; (sock_errors[i].text) && (sock_errors[i].value != err); i++)
;
if (sock_errors[i].value == err)
printf ("Sockets: %s error %d - %s\n", emsg, err, sock_errors[i].text);
else
printf ("Sockets: %s error %d\n", emsg, err); printf ("Sockets: %s error %d\n", emsg, err);
sim_close_sock (s, flg); sim_close_sock (s, flg);
return INVALID_SOCKET; return INVALID_SOCKET;
@ -735,6 +762,18 @@ if (preferred->ai_family == AF_INET6) {
sta = setsockopt (newsock, IPPROTO_IPV6, IPV6_V6ONLY, (char *)&off, sizeof(off)); sta = setsockopt (newsock, IPPROTO_IPV6, IPV6_V6ONLY, (char *)&off, sizeof(off));
} }
#endif #endif
if (sim_switches & SWMASK ('U')) {
int on = TRUE;
sta = setsockopt (newsock, SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on));
}
#if defined (SO_EXCLUSIVEADDRUSE)
else {
int on = TRUE;
sta = setsockopt (newsock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (char *)&on, sizeof(on));
}
#endif
sta = bind (newsock, preferred->ai_addr, preferred->ai_addrlen); sta = bind (newsock, preferred->ai_addr, preferred->ai_addrlen);
p_freeaddrinfo(result); p_freeaddrinfo(result);
if (sta == SOCKET_ERROR) /* bind error? */ if (sta == SOCKET_ERROR) /* bind error? */
@ -864,11 +903,12 @@ if (rd)
else select ((int) sock + 1, NULL, rw_p, er_p, &tz); else select ((int) sock + 1, NULL, rw_p, er_p, &tz);
if (FD_ISSET (sock, er_p)) if (FD_ISSET (sock, er_p))
return -1; return -1;
if (FD_ISSET (sock, rw_p)) if (FD_ISSET (sock, rw_p)) {
if (0 == getpeername (sock, (struct sockaddr *)&peername, &peernamesize)) if (0 == getpeername (sock, (struct sockaddr *)&peername, &peernamesize))
return 1; return 1;
else else
return -1; return -1;
}
return 0; return 0;
} }

View file

@ -61,8 +61,12 @@
#define WSAENAMETOOLONG ENAMETOOLONG #define WSAENAMETOOLONG ENAMETOOLONG
#define WSAEINPROGRESS EINPROGRESS #define WSAEINPROGRESS EINPROGRESS
#define WSAETIMEDOUT ETIMEDOUT #define WSAETIMEDOUT ETIMEDOUT
#define WSAEISCONN EISCONN
#define WSAECONNRESET ECONNRESET
#define WSAECONNREFUSED ECONNREFUSED #define WSAECONNREFUSED ECONNREFUSED
#define WSAEHOSTUNREACH EHOSTUNREACH #define WSAEHOSTUNREACH EHOSTUNREACH
#define WSAEADDRINUSE EADDRINUSE
#define WSAEACCES EACCES
#define INVALID_SOCKET ((SOCKET)-1) #define INVALID_SOCKET ((SOCKET)-1)
#define SOCKET_ERROR -1 #define SOCKET_ERROR -1
#include <sys/types.h> /* for fcntl, getpid */ #include <sys/types.h> /* for fcntl, getpid */

View file

@ -180,7 +180,7 @@ return sim_os_msec() - start_time;
const t_bool rtc_avail = TRUE; const t_bool rtc_avail = TRUE;
uint32 sim_os_msec () uint32 sim_os_msec (void)
{ {
uint32 quo, htod, tod[2]; uint32 quo, htod, tod[2];
int32 i; int32 i;
@ -260,7 +260,7 @@ return 0;
const t_bool rtc_avail = TRUE; const t_bool rtc_avail = TRUE;
uint32 sim_os_msec () uint32 sim_os_msec (void)
{ {
if (sim_idle_rate_ms) if (sim_idle_rate_ms)
return timeGetTime (); return timeGetTime ();
@ -330,7 +330,7 @@ return 0;
const t_bool rtc_avail = FALSE; const t_bool rtc_avail = FALSE;
uint32 sim_os_msec () uint32 sim_os_msec (void)
{ {
return 0; return 0;
} }
@ -426,7 +426,7 @@ return 0;
const t_bool rtc_avail = TRUE; const t_bool rtc_avail = TRUE;
uint32 sim_os_msec () uint32 sim_os_msec (void)
{ {
struct timeval cur; struct timeval cur;
struct timezone foo; struct timezone foo;

View file

@ -65,6 +65,7 @@
tmxr_poll_conn - poll for connection tmxr_poll_conn - poll for connection
tmxr_reset_ln - reset line (drops Telnet/tcp and serial connections) tmxr_reset_ln - reset line (drops Telnet/tcp and serial connections)
tmxr_detach_ln - reset line and close per line listener and outgoing destination
tmxr_getc_ln - get character for line tmxr_getc_ln - get character for line
tmxr_poll_rx - poll receive tmxr_poll_rx - poll receive
tmxr_putc_ln - put character for line tmxr_putc_ln - put character for line
@ -369,7 +370,15 @@
#define TNS_CRPAD 005 /* CR padding */ #define TNS_CRPAD 005 /* CR padding */
#define TNS_DO 006 /* DO request pending rejection */ #define TNS_DO 006 /* DO request pending rejection */
static BITFIELD tmxr_modem_bits[] = {
BIT(DTR), /* Data Terminal Ready */
BIT(RTS), /* Request To Send */
BIT(DCD), /* Data Carrier Detect */
BIT(RNG), /* Ring Indicator */
BIT(CTS), /* Clear To Send */
BIT(DSR), /* Data Set Ready */
ENDBITS
};
/* Local routines */ /* Local routines */
@ -395,6 +404,8 @@ if (!lp->txbfd) /* if not buffered */
lp->txbpr = lp->txbpi = lp->txcnt = 0; /* init transmit indexes */ lp->txbpr = lp->txbpi = lp->txcnt = 0; /* init transmit indexes */
memset (lp->rbr, 0, TMXR_MAXBUF); /* clear break status array */ memset (lp->rbr, 0, TMXR_MAXBUF); /* clear break status array */
lp->txdrp = 0; lp->txdrp = 0;
if (lp->mp->modem_control)
lp->modembits = TMXR_MDM_CTS | TMXR_MDM_DSR;
if (!lp->mp->buffered) { if (!lp->mp->buffered) {
lp->txbfd = 0; lp->txbfd = 0;
lp->txbsz = TMXR_MAXBUF; lp->txbsz = TMXR_MAXBUF;
@ -891,6 +902,13 @@ for (i = 0; i < mp->lines; i++) { /* check each line in se
lp->conn = TRUE; lp->conn = TRUE;
return i; return i;
} }
/* Check for needed outgoing connection initiation */
if (lp->destination && (!lp->sock) && (!lp->connecting) && (!lp->serport) &&
(!mp->modem_control || (lp->modembits & TMXR_MDM_DTR)))
lp->connecting = sim_connect_sock (lp->destination, "localhost", NULL);
} }
return -1; /* no new connections made */ return -1; /* no new connections made */
@ -946,6 +964,7 @@ lp->ipad = NULL;
if ((lp->destination) && (!lp->serport)) { if ((lp->destination) && (!lp->serport)) {
if (lp->connecting) if (lp->connecting)
sim_close_sock (lp->connecting, 0); sim_close_sock (lp->connecting, 0);
if ((!lp->mp->modem_control) || (lp->modembits & TMXR_MDM_DTR))
lp->connecting = sim_connect_sock (lp->destination, "localhost", NULL); lp->connecting = sim_connect_sock (lp->destination, "localhost", NULL);
} }
tmxr_init_line (lp); /* initialize line state */ tmxr_init_line (lp); /* initialize line state */
@ -1055,7 +1074,7 @@ return SCPE_OK;
*/ */
t_stat tmxr_set_get_modem_bits (TMLN *lp, int32 bits_to_set, int32 bits_to_clear, int32 *incoming_bits) t_stat tmxr_set_get_modem_bits (TMLN *lp, int32 bits_to_set, int32 bits_to_clear, int32 *incoming_bits)
{ {
int32 changed_modem_bits; int32 before_modem_bits, incoming_state;
tmxr_debug_trace_line (lp, "tmxr_set_get_modem_bits()"); tmxr_debug_trace_line (lp, "tmxr_set_get_modem_bits()");
@ -1063,28 +1082,38 @@ if ((bits_to_set & ~(TMXR_MDM_OUTGOING)) || /* Assure only settable bits
(bits_to_clear & ~(TMXR_MDM_OUTGOING)) || (bits_to_clear & ~(TMXR_MDM_OUTGOING)) ||
(bits_to_set & bits_to_clear)) /* and can't set and clear the same bits */ (bits_to_set & bits_to_clear)) /* and can't set and clear the same bits */
return SCPE_ARG; return SCPE_ARG;
changed_modem_bits = lp->modembits; before_modem_bits = lp->modembits;
lp->modembits |= bits_to_set; lp->modembits |= bits_to_set;
lp->modembits &= bits_to_clear; lp->modembits &= ~(bits_to_clear | TMXR_MDM_INCOMING);
changed_modem_bits ^= lp->modembits;
if (incoming_bits) {
if ((lp->sock) || (lp->serport)) { if ((lp->sock) || (lp->serport)) {
if (lp->modembits & TMXR_MDM_DTR) if (lp->modembits & TMXR_MDM_DTR)
*incoming_bits = TMXR_MDM_DCD | TMXR_MDM_CTS | TMXR_MDM_DSR; incoming_state = TMXR_MDM_DCD | TMXR_MDM_CTS | TMXR_MDM_DSR;
else else
*incoming_bits = TMXR_MDM_RNG | TMXR_MDM_DCD | TMXR_MDM_CTS | TMXR_MDM_DSR; incoming_state = TMXR_MDM_RNG | TMXR_MDM_DCD | TMXR_MDM_CTS | TMXR_MDM_DSR;
} }
else else
*incoming_bits = (lp->mp && lp->mp->master) ? (TMXR_MDM_CTS | TMXR_MDM_DSR) : 0; incoming_state = (lp->mp && lp->mp->master) ? (TMXR_MDM_CTS | TMXR_MDM_DSR) : 0;
lp->modembits |= incoming_state;
if (sim_deb && lp->mp && lp->mp->dptr) {
sim_debug_bits (TMXR_DBG_MDM, lp->mp->dptr, tmxr_modem_bits, before_modem_bits, lp->modembits, FALSE);
sim_debug (TMXR_DBG_MDM, lp->mp->dptr, " - Line %d\n", (int)(lp-lp->mp->ldsc));
} }
if (incoming_bits)
*incoming_bits = incoming_state;
if (lp->mp && lp->mp->modem_control) { /* This API ONLY works on modem_control enabled multiplexers */ if (lp->mp && lp->mp->modem_control) { /* This API ONLY works on modem_control enabled multiplexers */
if (bits_to_set | bits_to_clear) { /* Anything to do? */ if (bits_to_set | bits_to_clear) { /* Anything to do? */
if (lp->serport) if (lp->serport)
return sim_control_serial (lp->serport, bits_to_set, bits_to_clear, incoming_bits); return sim_control_serial (lp->serport, bits_to_set, bits_to_clear, incoming_bits);
if (lp->sock) { if ((lp->sock) || (lp->connecting)) {
if (bits_to_clear&TMXR_MDM_DTR) /* drop DTR? */ if (bits_to_clear&TMXR_MDM_DTR) /* drop DTR? */
tmxr_reset_ln (lp); tmxr_reset_ln (lp);
} }
else {
if ((lp->destination) && /* Virtual Null Modem Cable */
((bits_to_set ^ before_modem_bits) & /* and DTR being Raised */
TMXR_MDM_DTR))
lp->connecting = sim_connect_sock (lp->destination, "localhost", NULL);
}
} }
return SCPE_OK; return SCPE_OK;
} }
@ -1476,6 +1505,13 @@ if (lp->serport) { /* close current serial connection *
} }
} }
t_stat tmxr_detach_ln (TMLN *lp)
{
tmxr_debug_trace_line (lp, "tmxr_detaach_ln()");
_mux_detach_line (lp, TRUE, TRUE);
return SCPE_OK;
}
/* Open a master listening socket (and all of the other variances of connections). /* Open a master listening socket (and all of the other variances of connections).
A listening socket for the port number described by "cptr" is opened for the A listening socket for the port number described by "cptr" is opened for the
@ -1528,7 +1564,7 @@ while (*tptr) {
if (0 == MATCH_CMD (gbuf, "LINE")) { if (0 == MATCH_CMD (gbuf, "LINE")) {
if ((NULL == cptr) || ('\0' == *cptr)) if ((NULL == cptr) || ('\0' == *cptr))
return SCPE_ARG; return SCPE_ARG;
nextline = (int32) get_uint (cptr, 10, mp->lines, &r); nextline = (int32) get_uint (cptr, 10, mp->lines-1, &r);
if ((r != SCPE_OK) || (mp->lines == 1)) if ((r != SCPE_OK) || (mp->lines == 1))
return SCPE_ARG; return SCPE_ARG;
break; break;
@ -2561,18 +2597,11 @@ return SCPE_OK;
t_stat tmxr_attach_ex (TMXR *mp, UNIT *uptr, char *cptr, t_bool async) t_stat tmxr_attach_ex (TMXR *mp, UNIT *uptr, char *cptr, t_bool async)
{ {
char* tptr = NULL;
t_stat r; t_stat r;
tptr = (char *) calloc (1, 1);
if (tptr == NULL) /* no more mem? */
return SCPE_MEM;
r = tmxr_open_master (mp, cptr); /* open master socket */ r = tmxr_open_master (mp, cptr); /* open master socket */
if (r != SCPE_OK) { /* error? */ if (r != SCPE_OK) /* error? */
free (tptr); /* release buf */
return r; return r;
}
mp->uptr = uptr; /* save unit for polling */ mp->uptr = uptr; /* save unit for polling */
uptr->filename = _mux_attach_string (uptr->filename, mp);/* save */ uptr->filename = _mux_attach_string (uptr->filename, mp);/* save */
uptr->flags = uptr->flags | UNIT_ATT; /* no more errors */ uptr->flags = uptr->flags | UNIT_ATT; /* no more errors */
@ -2627,18 +2656,27 @@ else {
fprintf(st, ", "); fprintf(st, ", ");
} }
tmxr_show_summ(st, NULL, 0, mp); tmxr_show_summ(st, NULL, 0, mp);
fprintf(st, ", sessions=%d\n", mp->sessions); fprintf(st, ", sessions=%d", mp->sessions);
if (mp->modem_control)
fprintf(st, ", ModemControl=enabled");
if (mp->notelnet)
fprintf(st, ", Telnet=disabled");
fprintf(st, "\n");
for (j = 0; j < mp->lines; j++) { for (j = 0; j < mp->lines; j++) {
lp = mp->ldsc + j; lp = mp->ldsc + j;
if (mp->lines > 1) { if (mp->lines > 1) {
fprintf (st, "Line: %d", j); fprintf (st, "Line: %d", j);
if (mp->notelnet != lp->notelnet)
fprintf (st, " - %telnet", lp->notelnet ? "no" : "");
if (lp->uptr && (lp->uptr != lp->mp->uptr)) if (lp->uptr && (lp->uptr != lp->mp->uptr))
fprintf (st, " - Unit: %s\n", sim_uname (lp->uptr)); fprintf (st, " - Unit: %s", sim_uname (lp->uptr));
else
fprintf (st, "\n"); fprintf (st, "\n");
} }
if ((!lp->sock) && (!lp->connecting) && (!lp->serport) && (!lp->master)) if ((!lp->sock) && (!lp->connecting) && (!lp->serport) && (!lp->master)) {
if (mp->modem_control)
tmxr_fconns (st, lp, -1);
continue; continue;
}
tmxr_fconns (st, lp, -1); tmxr_fconns (st, lp, -1);
tmxr_fstats (st, lp, -1); tmxr_fstats (st, lp, -1);
} }
@ -2672,17 +2710,17 @@ for (i = 0; i < mp->lines; i++) { /* loop thru conn */
tmxr_report_disconnection (lp); /* report disconnection */ tmxr_report_disconnection (lp); /* report disconnection */
tmxr_reset_ln (lp); tmxr_reset_ln (lp);
} }
if (lp->connecting) {
lp->sock = lp->connecting;
lp->connecting = 0;
tmxr_reset_ln (lp);
}
if (lp->serport) { if (lp->serport) {
sim_control_serial (lp->serport, 0, TMXR_MDM_DTR|TMXR_MDM_RTS, NULL);/* drop DTR and RTS */ sim_control_serial (lp->serport, 0, TMXR_MDM_DTR|TMXR_MDM_RTS, NULL);/* drop DTR and RTS */
tmxr_close_ln (lp); tmxr_close_ln (lp);
} }
free (lp->destination); free (lp->destination);
lp->destination = NULL; lp->destination = NULL;
if (lp->connecting) {
lp->sock = lp->connecting;
lp->connecting = 0;
tmxr_reset_ln (lp);
}
lp->conn = FALSE; lp->conn = FALSE;
} }
if (lp->master) { if (lp->master) {
@ -2984,6 +3022,15 @@ if (lp->cnms) {
else else
fprintf (st, " Line disconnected\n"); fprintf (st, " Line disconnected\n");
if (lp->mp->modem_control) {
fprintf (st, " Modem Bits: %s%s%s%s%s%s\n", (lp->modembits & TMXR_MDM_DTR) ? "DTR " : "",
(lp->modembits & TMXR_MDM_RTS) ? "RTS " : "",
(lp->modembits & TMXR_MDM_DCD) ? "DCD " : "",
(lp->modembits & TMXR_MDM_RNG) ? "RNG " : "",
(lp->modembits & TMXR_MDM_CTS) ? "CTS " : "",
(lp->modembits & TMXR_MDM_DSR) ? "DSR " : "");
}
if ((lp->serport == 0) && (lp->sock)) if ((lp->serport == 0) && (lp->sock))
fprintf (st, " %s\n", (lp->notelnet) ? "Telnet disabled (RAW data)" : "Telnet protocol"); fprintf (st, " %s\n", (lp->notelnet) ? "Telnet disabled (RAW data)" : "Telnet protocol");
if (lp->txlog) if (lp->txlog)
@ -3347,11 +3394,15 @@ int32 i, any;
if (mp == NULL) if (mp == NULL)
return SCPE_IERR; return SCPE_IERR;
for (i = any = 0; i < mp->lines; i++) { for (i = any = 0; i < mp->lines; i++) {
if ((mp->ldsc[i].sock != 0) || (mp->ldsc[i].serport != 0)) { if ((mp->ldsc[i].sock != 0) ||
(mp->ldsc[i].serport != 0) || mp->modem_control) {
if ((mp->ldsc[i].sock != 0) || (mp->ldsc[i].serport != 0))
any++; any++;
if (val) if (val)
tmxr_fconns (st, &mp->ldsc[i], i); tmxr_fconns (st, &mp->ldsc[i], i);
else tmxr_fstats (st, &mp->ldsc[i], i); else
if ((mp->ldsc[i].sock != 0) || (mp->ldsc[i].serport != 0))
tmxr_fstats (st, &mp->ldsc[i], i);
} }
} }
if (any == 0) if (any == 0)
@ -3373,7 +3424,7 @@ return SCPE_OK;
static struct { static struct {
char value; u_char value;
char *name; char *name;
} tn_chars[] = } tn_chars[] =
{ {

View file

@ -66,10 +66,11 @@ typedef int SERHANDLE;
#define TMXR_DTR_DROP_TIME 500 /* milliseconds to drop DTR for 'pseudo' modem control */ #define TMXR_DTR_DROP_TIME 500 /* milliseconds to drop DTR for 'pseudo' modem control */
#define TMXR_CONNECT_POLL_INTERVAL 1000 /* milliseconds between connection polls */ #define TMXR_CONNECT_POLL_INTERVAL 1000 /* milliseconds between connection polls */
#define TMXR_DBG_XMT 0x10000 /* Debug Transmit Data */ #define TMXR_DBG_XMT 0x010000 /* Debug Transmit Data */
#define TMXR_DBG_RCV 0x20000 /* Debug Received Data */ #define TMXR_DBG_RCV 0x020000 /* Debug Received Data */
#define TMXR_DBG_ASY 0x40000 /* Debug Asynchronous Activities */ #define TMXR_DBG_MDM 0x040000 /* Debug Modem Signals */
#define TMXR_DBG_TRC 0x80000 /* Debug trace routine calls */ #define TMXR_DBG_ASY 0x080000 /* Debug Asynchronous Activities */
#define TMXR_DBG_TRC 0x100000 /* Debug trace routine calls */
/* Modem Control Bits */ /* Modem Control Bits */
@ -151,6 +152,7 @@ struct tmxr {
int32 tmxr_poll_conn (TMXR *mp); int32 tmxr_poll_conn (TMXR *mp);
t_stat tmxr_reset_ln (TMLN *lp); t_stat tmxr_reset_ln (TMLN *lp);
t_stat tmxr_detach_ln (TMLN *lp);
int32 tmxr_getc_ln (TMLN *lp); int32 tmxr_getc_ln (TMLN *lp);
void tmxr_poll_rx (TMXR *mp); void tmxr_poll_rx (TMXR *mp);
t_stat tmxr_putc_ln (TMLN *lp, int32 chr); t_stat tmxr_putc_ln (TMLN *lp, int32 chr);