mirror of
https://github.com/pruten/shoebill.git
synced 2024-08-31 18:29:35 +00:00
Preliminary support for ethernet/multiple screens in cocoa client
This commit is contained in:
parent
1ab8a6a988
commit
0322e558b4
@ -583,7 +583,7 @@ uint32_t shoebill_install_tfb_card(shoebill_config_t *config, uint8_t slotnum)
|
||||
return 1;
|
||||
}
|
||||
|
||||
uint32_t shoebill_install_ethernet_card(shoebill_config_t *config, uint8_t slotnum, uint8_t ethernet_addr[6])
|
||||
uint32_t shoebill_install_ethernet_card(shoebill_config_t *config, uint8_t slotnum, uint8_t ethernet_addr[6], int tap_fd)
|
||||
{
|
||||
shoebill_card_ethernet_t *ctx;
|
||||
|
||||
@ -601,7 +601,7 @@ uint32_t shoebill_install_ethernet_card(shoebill_config_t *config, uint8_t slotn
|
||||
shoe.slots[slotnum].write_func = nubus_ethernet_write_func;
|
||||
shoe.slots[slotnum].destroy_func = nubus_ethernet_destroy_func;
|
||||
shoe.slots[slotnum].interrupts_enabled = 1;
|
||||
nubus_ethernet_init(ctx, slotnum, ethernet_addr);
|
||||
nubus_ethernet_init(ctx, slotnum, ethernet_addr, tap_fd);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -1162,7 +1162,7 @@ static void inst_cmpm (void) {
|
||||
const uint8_t sz = 1 << s;
|
||||
|
||||
const uint32_t source_addr = shoe.a[y];
|
||||
// Usual rules apply for byte-size if x or y is a7 (
|
||||
// Usual rules apply for byte-size if x or y is a7
|
||||
const uint32_t post_source_addr = source_addr + sz + (y == 7 && sz == 1);
|
||||
const uint32_t dest_addr = (x == y) ? post_source_addr : shoe.a[x];
|
||||
// The increments are cumulative if x==y
|
||||
@ -2954,7 +2954,7 @@ static void inst_bchg_reg (void) {
|
||||
}
|
||||
|
||||
static void inst_bclr_reg (void) {
|
||||
~decompose(shoe.op, 0000 rrr 111 MMMMMM);
|
||||
~decompose(shoe.op, 0000 rrr 110 MMMMMM);
|
||||
|
||||
const uint8_t is_data_reg = (M>>3) == 0;
|
||||
const uint8_t sz = is_data_reg ? 4 : 1;
|
||||
@ -3283,7 +3283,8 @@ static void inst_trap (void) {
|
||||
return ;
|
||||
|
||||
fail:
|
||||
assert(!"trap - push_a7 raised shoe.abort\n"); // FIXME
|
||||
return ;
|
||||
// assert(!"trap - push_a7 raised shoe.abort\n"); // FIXME
|
||||
}
|
||||
|
||||
|
||||
|
@ -459,7 +459,7 @@ void *_ethernet_sender_thread(void *arg)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void nubus_ethernet_init(void *_ctx, uint8_t slotnum, uint8_t ethernet_addr[6])
|
||||
void nubus_ethernet_init(void *_ctx, uint8_t slotnum, uint8_t ethernet_addr[6], int tap_fd)
|
||||
{
|
||||
shoebill_card_ethernet_t *ctx = (shoebill_card_ethernet_t*)_ctx;
|
||||
memset(ctx, 0, sizeof(shoebill_card_ethernet_t));
|
||||
@ -489,8 +489,7 @@ void nubus_ethernet_init(void *_ctx, uint8_t slotnum, uint8_t ethernet_addr[6])
|
||||
ctx->isr |= isr_rst; // I presume ISR's RST powers up high too
|
||||
|
||||
/* Platform-specific tap code */
|
||||
ctx->tap_fd = open("/dev/tap0", O_RDWR);
|
||||
assert(ctx->tap_fd >= 0);
|
||||
ctx->tap_fd = tap_fd;
|
||||
}
|
||||
|
||||
void nubus_ethernet_destroy_func(uint8_t slotnum)
|
||||
|
@ -240,7 +240,8 @@ static _Bool _bsun_test()
|
||||
|
||||
static void _throw_illegal_instruction()
|
||||
{
|
||||
assert(!"throw_illegal_instruction!");
|
||||
// assert(!"throw_illegal_instruction!");
|
||||
throw_illegal_instruction();
|
||||
}
|
||||
|
||||
#pragma mark Float format translators (to/from big-endian motorola format)
|
||||
@ -2756,7 +2757,7 @@ computation_done:
|
||||
#pragma mark Second-hop non-fmath instructions
|
||||
|
||||
/*
|
||||
* reg->mem fmove (fmath handles all other fmoves
|
||||
* reg->mem fmove (fmath handles all other fmoves)
|
||||
*/
|
||||
static void inst_fmove (const uint16_t ext)
|
||||
{
|
||||
|
@ -138,7 +138,7 @@ uint32_t shoebill_install_video_card(shoebill_config_t *config, uint8_t slotnum,
|
||||
uint32_t shoebill_install_tfb_card(shoebill_config_t *config, uint8_t slotnum);
|
||||
|
||||
/* Call this after shoebill_initialize() to add an ethernet card */
|
||||
uint32_t shoebill_install_ethernet_card(shoebill_config_t *config, uint8_t slotnum, uint8_t ethernet_addr[6]);
|
||||
uint32_t shoebill_install_ethernet_card(shoebill_config_t *config, uint8_t slotnum, uint8_t ethernet_addr[6], int tap_fd);
|
||||
|
||||
/* Get a video frame from a particular video card */
|
||||
shoebill_video_frame_info_t shoebill_get_video_frame(uint8_t slotnum, _Bool just_params);
|
||||
@ -1081,7 +1081,7 @@ shoebill_video_frame_info_t nubus_video_get_frame(shoebill_card_video_t *ctx,
|
||||
_Bool just_params);
|
||||
|
||||
// Apple EtherTalk
|
||||
void nubus_ethernet_init(void *_ctx, uint8_t slotnum, uint8_t ethernet_addr[6]);
|
||||
void nubus_ethernet_init(void *_ctx, uint8_t slotnum, uint8_t ethernet_addr[6], int tap_fd);
|
||||
uint32_t nubus_ethernet_read_func(uint32_t, uint32_t, uint8_t);
|
||||
void nubus_ethernet_write_func(uint32_t, uint32_t, uint32_t, uint8_t);
|
||||
void nubus_ethernet_destroy_func(uint8_t);
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
CC = clang
|
||||
CFLAGS = -O0 -ggdb -flto -Wno-deprecated-declarations
|
||||
CFLAGS = -O3 -ggdb -flto -Wno-deprecated-declarations
|
||||
LFLAGS = -L ../intermediates -lshoebill_core -framework GLUT -framework OpenGL -ledit
|
||||
|
||||
all: debugger
|
||||
|
@ -42,6 +42,7 @@ struct dbg_state_t {
|
||||
uint64_t breakpoint_counter;
|
||||
dbg_breakpoint_t *breakpoints;
|
||||
_Bool trace;
|
||||
uint32_t slow_factor;
|
||||
|
||||
char *ring;
|
||||
uint32_t ring_i, ring_len;
|
||||
@ -394,6 +395,8 @@ void verb_continue_handler (const char *line)
|
||||
{
|
||||
dbg_state.running = 1;
|
||||
while (dbg_state.running) {
|
||||
if (dbg_state.slow_factor)
|
||||
usleep(dbg_state.slow_factor);
|
||||
stepper();
|
||||
}
|
||||
print_pc();
|
||||
@ -412,6 +415,13 @@ void verb_reset_handler (const char *line)
|
||||
shoe.pool = NULL;
|
||||
}
|
||||
|
||||
void verb_slow_handler (const char *line)
|
||||
{
|
||||
const uint64_t usecs = strtoul(line, NULL, 0);
|
||||
printf("Slow factor %u -> %u\n", dbg_state.slow_factor, (uint32_t)usecs);
|
||||
dbg_state.slow_factor = usecs;
|
||||
}
|
||||
|
||||
struct verb_handler_table_t {
|
||||
const char *name;
|
||||
void (*func)(const char *);
|
||||
@ -430,6 +440,7 @@ struct verb_handler_table_t {
|
||||
{"trace", verb_trace_toggle_handler},
|
||||
{"x", verb_examine_handler},
|
||||
{"reset", verb_reset_handler},
|
||||
{"slow", verb_slow_handler},
|
||||
};
|
||||
|
||||
void execute_verb (const char *line)
|
||||
@ -839,19 +850,21 @@ int main (int argc, char **argv)
|
||||
*/
|
||||
config.debug_mode = 1;
|
||||
|
||||
config.aux_verbose = 1;
|
||||
config.ram_size = 32 * 1024 * 1024;
|
||||
config.aux_verbose = 0;
|
||||
config.ram_size = 16 * 1024 * 1024;
|
||||
config.aux_kernel_path = "/unix";
|
||||
config.rom_path = "../priv/macii.rom";
|
||||
config.rom_path = "../../../shoebill_priv/macii.rom";
|
||||
|
||||
|
||||
config.scsi_devices[0].path = "../priv/root3.img";
|
||||
config.scsi_devices[0].path = "../../../shoebill_priv/root3.img";
|
||||
//config.scsi_devices[1].path = "../priv/marathon.img";
|
||||
|
||||
/*dbg_state.ring_len = 256 * 1024 * 1024;
|
||||
dbg_state.ring = malloc(dbg_state.ring_len);
|
||||
dbg_state.ring_i = 0;*/
|
||||
|
||||
shoebill_validate_or_zap_pram(config.pram, 1);
|
||||
|
||||
if (!shoebill_initialize(&config)) {
|
||||
printf("%s\n", config.error_msg);
|
||||
return 0;
|
||||
|
@ -3,7 +3,7 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2013-2014 Peter Rutenbar</string>
|
||||
<string>Copyright © 2013-2015 Peter Rutenbar</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
@ -17,11 +17,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.0.4</string>
|
||||
<string>0.0.5</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.0.4</string>
|
||||
<string>0.0.5</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||
<key>NSMainNibFile</key>
|
||||
|
@ -25,6 +25,7 @@
|
||||
|
||||
#import "shoeAppDelegate.h"
|
||||
#import "shoeApplication.h"
|
||||
#import "shoePreferencesWindowController.h"
|
||||
|
||||
@implementation shoeAppDelegate
|
||||
|
||||
@ -39,8 +40,8 @@
|
||||
[defaults setInteger:NSOnState forKey:@"verboseState"];
|
||||
[defaults setInteger:16 forKey:@"memorySize"];
|
||||
|
||||
[defaults setInteger:640 forKey:@"screenWidth"];
|
||||
[defaults setInteger:480 forKey:@"screenHeight"];
|
||||
// [defaults setInteger:640 forKey:@"screenWidth"];
|
||||
// [defaults setInteger:480 forKey:@"screenHeight"];
|
||||
|
||||
for (i=0; i<7; i++)
|
||||
[defaults setObject:@"" forKey:[NSString stringWithFormat:@"scsiPath%u", i]];
|
||||
@ -50,6 +51,7 @@
|
||||
|
||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
||||
{
|
||||
uint32_t i;
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
BOOL isInitialized = [defaults boolForKey:@"defaultsInitialized"];
|
||||
@ -57,13 +59,33 @@
|
||||
if (!isInitialized)
|
||||
[self createFirstTimeUserDefaults];
|
||||
|
||||
// Going from 0.0.1 to 0.0.2 leaves rootKernelPath uninitialized
|
||||
// < 0.0.2 leaves rootKernelPath uninitialized
|
||||
if ([defaults objectForKey:@"rootKernelPath"] == nil)
|
||||
[defaults setObject:@"/unix" forKey:@"rootKernelPath"];
|
||||
|
||||
// 0.0.1-2 leave pramData uninitialized
|
||||
// < 0.0.3 leaves pramData uninitialized
|
||||
if ([defaults objectForKey:@"pramData"] == nil)
|
||||
[((shoeApplication*)NSApp) zapPram:defaults ptr:nil];
|
||||
|
||||
// < 0.0.5 leaves ethernet settings uninitialized
|
||||
if ([defaults objectForKey:@"tapPathE"] == nil) {
|
||||
uint8_t mac[6];
|
||||
generateMACAddr(mac);
|
||||
[defaults setObject:[NSString stringWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",
|
||||
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]]
|
||||
forKey:@"macAddressE"];
|
||||
[defaults setObject:@"/dev/tap0" forKey:@"tapPathE"];
|
||||
[defaults setInteger:0 forKey:@"ethernetEnabledE"];
|
||||
|
||||
for (i=0; i<4; i++) {
|
||||
[defaults setInteger:640 forKey:[NSString stringWithFormat:@"screenWidth%u", i]];
|
||||
[defaults setInteger:480 forKey:[NSString stringWithFormat:@"screenHeight%u", i]];
|
||||
[defaults setInteger:1 forKey:[NSString stringWithFormat:@"screenEnabled%u", i]];
|
||||
}
|
||||
[defaults setInteger:1 forKey:@"screenEnabled0"];
|
||||
}
|
||||
|
||||
[defaults synchronize];
|
||||
}
|
||||
|
||||
|
||||
|
@ -46,6 +46,14 @@ struct shoe_app_pram_data_t
|
||||
BOOL doCaptureMouse, doCaptureKeys;
|
||||
BOOL isRunning;
|
||||
shoebill_config_t config;
|
||||
|
||||
char *tapPath;
|
||||
uint8_t mac[6];
|
||||
int tap_fd;
|
||||
BOOL ethEnabled, tap_fd_valid;
|
||||
struct {
|
||||
uint16_t height, width, enabled;
|
||||
} screens[4];
|
||||
}
|
||||
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#import "shoeApplication.h"
|
||||
#import "shoeScreenWindow.h"
|
||||
#import "shoeScreenWindowController.h"
|
||||
#import "shoePreferencesWindowController.h"
|
||||
#include <ctype.h>
|
||||
|
||||
@implementation shoeApplication
|
||||
@ -215,7 +216,7 @@
|
||||
}
|
||||
|
||||
|
||||
- (BOOL) fetchUserDefaults:(uint16_t*)height width:(uint16_t*)width
|
||||
- (BOOL) fetchUserDefaults
|
||||
{
|
||||
uint32_t i;
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
@ -239,14 +240,22 @@
|
||||
if ((memsize < 1) || (memsize > 1024))
|
||||
memsize = 8;
|
||||
|
||||
NSInteger screenHeightValue = [defaults integerForKey:@"screenHeight"];
|
||||
NSInteger screenWidthValue = [defaults integerForKey:@"screenWidth"];
|
||||
for (i=0; i<4; i++) {
|
||||
NSInteger height = [defaults integerForKey:[NSString stringWithFormat:@"screenHeight%u", i]];
|
||||
NSInteger width = [defaults integerForKey:[NSString stringWithFormat:@"screenWidth%u", i]];
|
||||
NSInteger enabled = [defaults integerForKey:[NSString stringWithFormat:@"screenEnabled%u", i]];
|
||||
|
||||
if ((screenHeightValue < 342) || (screenHeightValue > 0xffff))
|
||||
screenHeightValue = 480;
|
||||
|
||||
if ((screenWidthValue < 512) || (screenWidthValue > 0xffff))
|
||||
screenWidthValue = 640;
|
||||
if ((height < 342) || (height > 0xffff))
|
||||
height = 480;
|
||||
|
||||
if ((width < 512) || (width > 0xffff))
|
||||
width = 640;
|
||||
|
||||
screens[i].width = (uint16_t)width;
|
||||
screens[i].height = (uint16_t)height;
|
||||
screens[i].enabled = (uint16_t)enabled;
|
||||
}
|
||||
|
||||
|
||||
for (i=0; i<7; i++) {
|
||||
@ -277,8 +286,23 @@
|
||||
if (memcmp(config.pram+0xc, "NuMc", 4) != 0)
|
||||
[self zapPram:defaults ptr:config.pram];
|
||||
|
||||
*width = screenWidthValue;
|
||||
*height = screenHeightValue;
|
||||
NSString *defaultTapPath = [defaults objectForKey:@"tapPathE"];
|
||||
NSString *defaultMacAddr = [defaults objectForKey:@"macAddressE"];
|
||||
ethEnabled = [defaults integerForKey:@"ethernetEnabledE"];
|
||||
if (ethEnabled) {
|
||||
if (tap_fd_valid && strcmp(tapPath, [defaultTapPath UTF8String]) != 0) {
|
||||
close(tap_fd);
|
||||
tap_fd_valid = 0;
|
||||
}
|
||||
if (tapPath)
|
||||
free(tapPath);
|
||||
tapPath = strdup([defaultTapPath UTF8String]);
|
||||
if (!(parseMACAddr([defaultMacAddr UTF8String], mac))) {
|
||||
[self complain:@"Bad MAC addr"];
|
||||
ethEnabled = 0;
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
|
||||
return YES;
|
||||
}
|
||||
@ -346,12 +370,12 @@ void pram_callback (void *param, const uint8_t addr, const uint8_t byte)
|
||||
if (isRunning)
|
||||
return;
|
||||
|
||||
uint16_t width, height;
|
||||
uint32_t i;
|
||||
|
||||
bzero(&config, sizeof(shoebill_config_t));
|
||||
|
||||
[self fetchUserDefaults:&height width:&width];
|
||||
if (![self fetchUserDefaults])
|
||||
return ;
|
||||
|
||||
self->pram = calloc(1, sizeof(struct shoe_app_pram_data_t));
|
||||
memcpy(self->pram, config.pram, 256);
|
||||
@ -371,12 +395,33 @@ void pram_callback (void *param, const uint8_t addr, const uint8_t byte)
|
||||
return ;
|
||||
}
|
||||
|
||||
[self createScreenWindow:9 height:height width:width];
|
||||
for (i=0; i<4; i++) {
|
||||
if (screens[i].enabled)
|
||||
[self createScreenWindow:(9+i) height:screens[i].height width:screens[i].width];
|
||||
}
|
||||
|
||||
// If you feel the cravin' for TAP-based ethernet, uncomment these lines
|
||||
//
|
||||
// uint8_t ethernet_addr[6] = {0x00, 0x24, 0x7e, 0x14, 0xd7, 0xff};
|
||||
// shoebill_install_ethernet_card(&config, 13, ethernet_addr);
|
||||
if (ethEnabled) {
|
||||
if (!tap_fd_valid) {
|
||||
tap_fd = open(tapPath, O_RDWR | O_NOFOLLOW);
|
||||
if (tap_fd == -1) {
|
||||
NSAlert *theAlert = [NSAlert
|
||||
alertWithMessageText:nil
|
||||
defaultButton:nil
|
||||
alternateButton:nil
|
||||
otherButton:nil
|
||||
informativeTextWithFormat:@"Couldn't open tap device (errno = %d)", errno
|
||||
];
|
||||
[theAlert runModal];
|
||||
return ;
|
||||
}
|
||||
tap_fd_valid = 1;
|
||||
}
|
||||
if (!shoebill_install_ethernet_card(&config, 13, mac, tap_fd)) {
|
||||
[self complain:[NSString stringWithFormat:@"%s", config.error_msg]];
|
||||
return ;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
shoebill_start();
|
||||
|
||||
|
@ -27,10 +27,17 @@
|
||||
|
||||
@interface shoePreferencesWindowController : NSWindowController {
|
||||
|
||||
IBOutlet __weak NSButton *apply, *cancel, *applyAndRun, *verbose;
|
||||
IBOutlet __weak NSButton *apply, *cancel, *applyAndRun, *verbose, *ethernetEnabled;
|
||||
IBOutlet __weak NSTextField *kernelPath, *romPath, *memorySize;
|
||||
IBOutlet __weak NSTextField *scsiPath0, *scsiPath1, *scsiPath2, *scsiPath3, *scsiPath4, *scsiPath5, *scsiPath6;
|
||||
IBOutlet __weak NSTextField *screenHeight, *screenWidth;
|
||||
IBOutlet __weak NSTextField *macAddress, *tapPath;
|
||||
|
||||
IBOutlet __weak NSTextField *screenHeight1, *screenWidth1;
|
||||
IBOutlet __weak NSTextField *screenHeight2, *screenWidth2;
|
||||
IBOutlet __weak NSTextField *screenHeight3, *screenWidth3;
|
||||
IBOutlet __weak NSTextField *screenHeight4, *screenWidth4;
|
||||
|
||||
IBOutlet __weak NSButton *enableScreen1, *enableScreen2, *enableScreen3, *enableScreen4;
|
||||
}
|
||||
|
||||
|
||||
@ -40,3 +47,6 @@
|
||||
- (IBAction)browsePressed:(id)sender;
|
||||
|
||||
@end
|
||||
|
||||
void generateMACAddr (uint8_t *mac);
|
||||
_Bool parseMACAddr (const char *str, uint8_t *mac);
|
@ -25,6 +25,7 @@
|
||||
|
||||
#import "shoePreferencesWindowController.h"
|
||||
#import "shoeApplication.h"
|
||||
#include <ctype.h>
|
||||
|
||||
@implementation shoePreferencesWindowController
|
||||
|
||||
@ -35,6 +36,14 @@
|
||||
|
||||
- (void)windowDidLoad
|
||||
{
|
||||
uint32_t i;
|
||||
NSTextField *screenWidths[4] = {
|
||||
screenWidth1, screenWidth2, screenWidth3, screenWidth4};
|
||||
NSTextField *screenHeights[4] = {
|
||||
screenHeight1, screenHeight2, screenHeight3, screenHeight4};
|
||||
NSButton *screenEnableds[4] = {
|
||||
enableScreen1, enableScreen2, enableScreen3, enableScreen4};
|
||||
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
NSString *rootKernelPathStr = [defaults objectForKey:@"rootKernelPath"];
|
||||
@ -71,21 +80,28 @@
|
||||
if (scsiPath5Str) [scsiPath5 setStringValue:scsiPath5Str];
|
||||
if (scsiPath6Str) [scsiPath6 setStringValue:scsiPath6Str];
|
||||
|
||||
NSInteger screenHeightValue = [defaults integerForKey:@"screenHeight"];
|
||||
NSInteger screenWidthValue = [defaults integerForKey:@"screenWidth"];
|
||||
for (i=0; i<4; i++) {
|
||||
NSInteger height = [defaults integerForKey:[NSString stringWithFormat:@"screenHeight%u", i]];
|
||||
NSInteger width = [defaults integerForKey:[NSString stringWithFormat:@"screenWidth%u", i]];
|
||||
NSInteger enabled = [defaults integerForKey:[NSString stringWithFormat:@"screenEnabled%u", i]];
|
||||
|
||||
if ((screenHeightValue < 342) || (screenHeightValue > 0xffff)) {
|
||||
screenHeightValue = 480;
|
||||
[defaults setInteger:screenHeightValue forKey:@"screenHeight"];
|
||||
if ((height < 342) || (height > 0xffff))
|
||||
height = 480;
|
||||
if ((width < 342) || (width > 0xffff))
|
||||
width = 640;
|
||||
|
||||
[screenHeights[i] setStringValue:[NSString stringWithFormat:@"%u", (uint32_t)height]];
|
||||
[screenWidths[i] setStringValue:[NSString stringWithFormat:@"%u", (uint32_t)width]];
|
||||
[screenEnableds[i] setState:enabled];
|
||||
}
|
||||
|
||||
if ((screenWidthValue < 512) || (screenWidthValue > 0xffff)) {
|
||||
screenWidthValue = 640;
|
||||
[defaults setInteger:screenWidthValue forKey:@"screenWidth"];
|
||||
}
|
||||
NSString *tapPathStr = [defaults objectForKey:@"tapPathE"];
|
||||
NSString *macAddressStr = [defaults objectForKey:@"macAddressE"];
|
||||
NSInteger ethernetEnabledState = [defaults integerForKey:@"ethernetEnabledE"];
|
||||
|
||||
[screenWidth setStringValue:[NSString stringWithFormat:@"%u", (uint32_t)screenWidthValue]];
|
||||
[screenHeight setStringValue:[NSString stringWithFormat:@"%u", (uint32_t)screenHeightValue]];
|
||||
[tapPath setStringValue:tapPathStr];
|
||||
[macAddress setStringValue:macAddressStr];
|
||||
[ethernetEnabled setIntegerValue:ethernetEnabledState];
|
||||
|
||||
[defaults synchronize];
|
||||
}
|
||||
@ -134,8 +150,27 @@
|
||||
[field setStringValue: [url path]];
|
||||
}
|
||||
|
||||
- (void) complain:(NSString*)str
|
||||
{
|
||||
NSAlert *theAlert = [NSAlert
|
||||
alertWithMessageText:nil
|
||||
defaultButton:nil
|
||||
alternateButton:nil
|
||||
otherButton:nil
|
||||
informativeTextWithFormat:@"%@", str
|
||||
];
|
||||
[theAlert runModal];
|
||||
}
|
||||
|
||||
- (IBAction)applyPressed:(id)sender
|
||||
{
|
||||
uint32_t i;
|
||||
NSTextField *screenWidths[4] = {
|
||||
screenWidth1, screenWidth2, screenWidth3, screenWidth4};
|
||||
NSTextField *screenHeights[4] = {
|
||||
screenHeight1, screenHeight2, screenHeight3, screenHeight4};
|
||||
NSButton *screenEnableds[4] = {
|
||||
enableScreen1, enableScreen2, enableScreen3, enableScreen4};
|
||||
|
||||
NSString *rootKernelPathStr = [kernelPath stringValue];
|
||||
NSString *romPathStr = [romPath stringValue];
|
||||
@ -150,11 +185,21 @@
|
||||
NSString *scsiPath5Str = [scsiPath5 stringValue];
|
||||
NSString *scsiPath6Str = [scsiPath6 stringValue];
|
||||
|
||||
NSInteger screenHeightValue = [screenHeight integerValue];
|
||||
NSInteger screenWidthValue = [screenWidth integerValue];
|
||||
NSString *macAddressStr = [macAddress stringValue];
|
||||
NSString *tapPathStr = [tapPath stringValue];
|
||||
NSInteger ethernetEnabledState = [ethernetEnabled state];
|
||||
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
uint8_t mac[6];
|
||||
if (!parseMACAddr ([macAddressStr UTF8String], mac)) {
|
||||
[self complain:@"Bad MAC address"];
|
||||
}
|
||||
else {
|
||||
[macAddress setStringValue:[NSString stringWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",
|
||||
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]]];
|
||||
}
|
||||
|
||||
[defaults setObject:rootKernelPathStr forKey:@"rootKernelPath"];
|
||||
[defaults setObject:romPathStr forKey:@"romPath"];
|
||||
[defaults setInteger:verboseState forKey:@"verboseState"];
|
||||
@ -168,8 +213,24 @@
|
||||
[defaults setObject:scsiPath5Str forKey:@"scsiPath5"];
|
||||
[defaults setObject:scsiPath6Str forKey:@"scsiPath6"];
|
||||
|
||||
[defaults setInteger:screenHeightValue forKey:@"screenHeight"];
|
||||
[defaults setInteger:screenWidthValue forKey:@"screenWidth"];
|
||||
for (i=0; i<4; i++) {
|
||||
NSInteger height = [screenHeights[i] integerValue];
|
||||
NSInteger width = [screenWidths[i] integerValue];
|
||||
NSInteger enabled = [screenEnableds[i] state];
|
||||
|
||||
if ((height < 342) || (height > 0xffff))
|
||||
height = 480;
|
||||
if ((width < 342) || (width > 0xffff))
|
||||
width = 640;
|
||||
|
||||
[defaults setInteger:height forKey:[NSString stringWithFormat:@"screenHeight%u", i]];
|
||||
[defaults setInteger:width forKey:[NSString stringWithFormat:@"screenWidth%u", i]];
|
||||
[defaults setInteger:enabled forKey:[NSString stringWithFormat:@"screenEnabled%u", i]];
|
||||
}
|
||||
|
||||
[defaults setObject:macAddressStr forKey:@"macAddressE"];
|
||||
[defaults setObject:tapPathStr forKey:@"tapPathE"];
|
||||
[defaults setInteger:ethernetEnabledState forKey:@"ethernetEnabledE"];
|
||||
|
||||
[defaults synchronize];
|
||||
}
|
||||
@ -192,5 +253,63 @@
|
||||
[shoeApp zapPram:[NSUserDefaults standardUserDefaults] ptr:nil];
|
||||
}
|
||||
|
||||
void generateMACAddr (uint8_t *mac)
|
||||
{
|
||||
srandom((unsigned)(random() ^ time(NULL)));
|
||||
|
||||
/* Generate a MAC address in the range of the original EtherTalk card */
|
||||
|
||||
mac[0] = 0x02;
|
||||
mac[1] = 0x60;
|
||||
mac[2] = 0x8c;
|
||||
mac[3] = random() & 0x07;
|
||||
mac[4] = random() & 0xff;
|
||||
mac[5] = random() & 0xff;
|
||||
}
|
||||
|
||||
_Bool parseMACAddr (const char *str, uint8_t *mac)
|
||||
{
|
||||
uint32_t i, nibbles = 0;
|
||||
uint8_t allowed[256];
|
||||
|
||||
memset(allowed, 30, 256);
|
||||
for (i=0; i<256; i++)
|
||||
if (isspace(i))
|
||||
allowed[i] = 20;
|
||||
allowed[':'] = 20;
|
||||
allowed['-'] = 20;
|
||||
for (i=0; i<10; i++)
|
||||
allowed['0' + i] = i;
|
||||
for (i=0; i<6; i++) {
|
||||
allowed['a' + i] = 10 + i;
|
||||
allowed['A' + i] = 10 + i;
|
||||
}
|
||||
|
||||
for (i=0; str[i]; i++) {
|
||||
const uint8_t v = allowed[str[i]];
|
||||
|
||||
if (v == 30)
|
||||
return 0;
|
||||
else if (v == 20)
|
||||
continue;
|
||||
|
||||
if (nibbles >= 12)
|
||||
return 0;
|
||||
mac[nibbles/2] <<= 4;
|
||||
mac[nibbles/2] |= v;
|
||||
nibbles++;
|
||||
}
|
||||
return (nibbles == 12);
|
||||
}
|
||||
|
||||
-(IBAction)newMacAddrPressed:(id)sender
|
||||
{
|
||||
uint8_t mac[6];
|
||||
|
||||
generateMACAddr(mac);
|
||||
|
||||
[macAddress setStringValue:[NSString stringWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",
|
||||
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]]];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -1,17 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5056" systemVersion="13D65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment defaultVersion="1080" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5056"/>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="shoePreferencesWindowController">
|
||||
<connections>
|
||||
<outlet property="enableScreen1" destination="JSa-Bw-xDM" id="3Vr-kl-5To"/>
|
||||
<outlet property="enableScreen2" destination="QR4-Cc-AkE" id="An0-V4-7Gg"/>
|
||||
<outlet property="enableScreen3" destination="C6X-Zw-psD" id="Ipx-9O-5jD"/>
|
||||
<outlet property="enableScreen4" destination="isQ-0Q-gQ4" id="4rO-YL-FaT"/>
|
||||
<outlet property="ethernetEnabled" destination="GCJ-G0-drE" id="urw-x8-B7H"/>
|
||||
<outlet property="kernelPath" destination="zU0-5O-afD" id="Q3V-Ly-Y6B"/>
|
||||
<outlet property="macAddress" destination="UAs-x7-p28" id="PTo-JO-bHU"/>
|
||||
<outlet property="memorySize" destination="uvm-gd-pCd" id="zzI-jI-ZUW"/>
|
||||
<outlet property="romPath" destination="LoN-Nd-9cy" id="R3k-vY-TPo"/>
|
||||
<outlet property="screenHeight" destination="Wyt-jg-xmk" id="Sq6-IJ-xbQ"/>
|
||||
<outlet property="screenWidth" destination="EMf-gC-m9T" id="xxW-Ji-t7R"/>
|
||||
<outlet property="screenHeight1" destination="Wyt-jg-xmk" id="dCS-jW-MMh"/>
|
||||
<outlet property="screenHeight2" destination="IPj-pY-K2b" id="cnW-fh-y05"/>
|
||||
<outlet property="screenHeight3" destination="tqh-iM-5GM" id="sF2-HA-acz"/>
|
||||
<outlet property="screenHeight4" destination="3aP-6m-As4" id="fsH-cL-DLg"/>
|
||||
<outlet property="screenWidth1" destination="EMf-gC-m9T" id="GSA-cX-c70"/>
|
||||
<outlet property="screenWidth2" destination="B2c-pG-rIH" id="1BQ-0g-PMw"/>
|
||||
<outlet property="screenWidth3" destination="cQO-ri-LxM" id="fBQ-VU-X4L"/>
|
||||
<outlet property="screenWidth4" destination="VvE-c8-mBx" id="acc-3d-WMa"/>
|
||||
<outlet property="scsiPath0" destination="nhQ-gw-2di" id="Ayi-Wk-Nhf"/>
|
||||
<outlet property="scsiPath1" destination="8th-va-hXP" id="xTk-Kd-9v2"/>
|
||||
<outlet property="scsiPath2" destination="RTT-NZ-Tte" id="w7D-05-cvN"/>
|
||||
@ -19,34 +31,33 @@
|
||||
<outlet property="scsiPath4" destination="Biz-iI-IiP" id="gbh-Jl-dxV"/>
|
||||
<outlet property="scsiPath5" destination="GE2-3P-G1I" id="ohD-Fj-EX9"/>
|
||||
<outlet property="scsiPath6" destination="cy8-jg-woV" id="QoH-Z0-e8d"/>
|
||||
<outlet property="tapPath" destination="Wvc-cC-QWO" id="kuK-DA-ui3"/>
|
||||
<outlet property="verbose" destination="fkL-RE-iRz" id="uba-U2-Zkh"/>
|
||||
<outlet property="window" destination="rKy-wc-8AE" id="sYz-fH-ohd"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<window title="Preferences" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="rKy-wc-8AE">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="196" y="240" width="498" height="433"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="878"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
|
||||
<view key="contentView" id="4Fm-p8-6h9">
|
||||
<rect key="frame" x="0.0" y="0.0" width="498" height="433"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<tabView fixedFrame="YES" drawsBackground="NO" initialItem="Ffn-1Z-2rp" translatesAutoresizingMaskIntoConstraints="NO" id="i29-bb-k7Y">
|
||||
<rect key="frame" x="13" y="33" width="472" height="394"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<tabViewItems>
|
||||
<tabViewItem label="General" identifier="1" id="Ffn-1Z-2rp">
|
||||
<view key="view" ambiguous="YES" id="BF8-Dm-rF5">
|
||||
<view key="view" id="BF8-Dm-rF5">
|
||||
<rect key="frame" x="10" y="33" width="452" height="348"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="oVj-nA-5GP">
|
||||
<rect key="frame" x="11" y="314" width="81" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="Rom Path:" usesSingleLineMode="YES" id="7qD-i1-FXI">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -55,7 +66,6 @@
|
||||
</textField>
|
||||
<button identifier="romPathBrowse" verticalHuggingPriority="750" fixedFrame="YES" tag="9" translatesAutoresizingMaskIntoConstraints="NO" id="fjl-Jg-nIF">
|
||||
<rect key="frame" x="358" y="303" width="97" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Browse..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="ITb-nX-hmP">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -66,7 +76,6 @@
|
||||
</button>
|
||||
<textField identifier="romPath" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LoN-Nd-9cy">
|
||||
<rect key="frame" x="98" y="292" width="258" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="macii.rom" drawsBackground="YES" id="IvC-yQ-qdn">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -75,7 +84,6 @@
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RDI-wU-bdg">
|
||||
<rect key="frame" x="2" y="267" width="90" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="Memory (MB):" usesSingleLineMode="YES" id="8mu-le-9YC">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -84,61 +92,14 @@
|
||||
</textField>
|
||||
<textField identifier="memorySize" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uvm-gd-pCd">
|
||||
<rect key="frame" x="98" y="262" width="42" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="8" placeholderString="8" drawsBackground="YES" id="I5v-kb-eCo">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tgt-1x-QT0">
|
||||
<rect key="frame" x="2" y="210" width="90" height="42"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="right" title="Screen Resolution:" id="9bl-WA-bhb">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JNe-0k-g4e">
|
||||
<rect key="frame" x="146" y="224" width="14" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="center" title="x" id="9cf-Xq-tuu">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="aSg-xG-o1t">
|
||||
<rect key="frame" x="223" y="223" width="59" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="left" title="pixels" id="D5V-Zm-Grd">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="widthBox" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="EMf-gC-m9T">
|
||||
<rect key="frame" x="98" y="220" width="43" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="width" placeholderString="width" drawsBackground="YES" id="sbq-WW-C05">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="heightBox" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wyt-jg-xmk">
|
||||
<rect key="frame" x="168" y="220" width="49" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="height" placeholderString="height" drawsBackground="YES" id="qvE-Bk-NDl">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fNZ-zo-4uj">
|
||||
<rect key="frame" x="7" y="10" width="103" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Zap PRAM" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="EGV-fk-y4d">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -147,6 +108,223 @@
|
||||
<action selector="zapPramPressed:" target="-2" id="9N7-dY-Fl6"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="0nJ-ho-P1P">
|
||||
<rect key="frame" x="11" y="235" width="81" height="17"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="Kernel Path:" usesSingleLineMode="YES" id="Wdx-2C-yGA">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="kernelPath" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zU0-5O-afD">
|
||||
<rect key="frame" x="98" y="232" width="325" height="22"/>
|
||||
<string key="toolTip">The path to the kernel on the root image. If you don't know what this is, just use "/unix" (Note: the root image needs to be at SCSI ID 0)</string>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="/unix" drawsBackground="YES" id="0MQ-1P-9gJ">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button identifier="verbose" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fkL-RE-iRz">
|
||||
<rect key="frame" x="283" y="18" width="142" height="18"/>
|
||||
<string key="toolTip">Verbose mode causes A/UX to print diagnostic info during boot, and it will also run fsck to repair the root filesystem if necessary.</string>
|
||||
<buttonCell key="cell" type="check" title="A/UX Verbose Boot" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="htQ-zH-VRv">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Screens" identifier="" id="3o8-Ma-LAk">
|
||||
<view key="view" id="Zdy-ik-svz">
|
||||
<rect key="frame" x="10" y="33" width="452" height="348"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tgt-1x-QT0">
|
||||
<rect key="frame" x="186" y="312" width="125" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="right" title="Screen Resolution:" id="9bl-WA-bhb">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Ld1-xq-pdG">
|
||||
<rect key="frame" x="186" y="287" width="47" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="right" title="Width" id="QBW-rk-c7E">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JNe-0k-g4e">
|
||||
<rect key="frame" x="241" y="259" width="14" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="center" title="x" id="9cf-Xq-tuu">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="aSg-xG-o1t">
|
||||
<rect key="frame" x="317" y="259" width="59" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="left" title="pixels" id="D5V-Zm-Grd">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="width1" toolTip="width" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="EMf-gC-m9T">
|
||||
<rect key="frame" x="192" y="256" width="43" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="width" placeholderString="width" drawsBackground="YES" id="sbq-WW-C05">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="height1" toolTip="height" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wyt-jg-xmk">
|
||||
<rect key="frame" x="262" y="256" width="49" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="height" placeholderString="height" drawsBackground="YES" id="qvE-Bk-NDl">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button identifier="verbose" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JSa-Bw-xDM">
|
||||
<rect key="frame" x="57" y="258" width="129" height="18"/>
|
||||
<string key="toolTip">Verbose mode causes A/UX to print diagnostic info during boot, and it will also run fsck to repair the root filesystem if necessary.</string>
|
||||
<buttonCell key="cell" type="check" title="Enable Screen 1" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="azN-j2-txA">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<button identifier="verbose" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="QR4-Cc-AkE">
|
||||
<rect key="frame" x="57" y="228" width="129" height="18"/>
|
||||
<string key="toolTip">Verbose mode causes A/UX to print diagnostic info during boot, and it will also run fsck to repair the root filesystem if necessary.</string>
|
||||
<buttonCell key="cell" type="check" title="Enable Screen 2" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Zqf-mb-br4">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<button identifier="verbose" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="C6X-Zw-psD">
|
||||
<rect key="frame" x="57" y="198" width="129" height="18"/>
|
||||
<string key="toolTip">Verbose mode causes A/UX to print diagnostic info during boot, and it will also run fsck to repair the root filesystem if necessary.</string>
|
||||
<buttonCell key="cell" type="check" title="Enable Screen 3" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Cfv-ZG-aBO">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="G8E-Jw-aPd">
|
||||
<rect key="frame" x="241" y="229" width="14" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="center" title="x" id="1RP-Cp-YFY">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8hd-at-UXU">
|
||||
<rect key="frame" x="317" y="229" width="59" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="left" title="pixels" id="2DF-kS-r5B">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="width2" toolTip="width" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="B2c-pG-rIH">
|
||||
<rect key="frame" x="192" y="226" width="43" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="width" placeholderString="width" drawsBackground="YES" id="DMe-fk-aJx">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="height2" toolTip="height" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IPj-pY-K2b">
|
||||
<rect key="frame" x="262" y="226" width="49" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="height" placeholderString="height" drawsBackground="YES" id="3F9-jB-hfl">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uAk-QS-Kpu">
|
||||
<rect key="frame" x="241" y="199" width="14" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="center" title="x" id="XrI-eJ-Xmq">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="a0D-DN-Abg">
|
||||
<rect key="frame" x="317" y="199" width="59" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="left" title="pixels" id="V3B-61-meh">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="width3" toolTip="width" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cQO-ri-LxM">
|
||||
<rect key="frame" x="192" y="196" width="43" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="width" placeholderString="width" drawsBackground="YES" id="5Rx-30-P1a">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="height3" toolTip="height" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tqh-iM-5GM">
|
||||
<rect key="frame" x="262" y="196" width="49" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="height" placeholderString="height" drawsBackground="YES" id="PdC-tw-Mou">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="WMg-rd-urO">
|
||||
<rect key="frame" x="241" y="169" width="14" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="center" title="x" id="r21-SX-0ht">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NDL-uY-GIk">
|
||||
<rect key="frame" x="317" y="169" width="59" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="left" title="pixels" id="gKj-k6-3XK">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="width4" toolTip="width" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VvE-c8-mBx">
|
||||
<rect key="frame" x="192" y="166" width="43" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="width" placeholderString="width" drawsBackground="YES" id="rfI-7T-Vc2">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="height4" toolTip="height" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3aP-6m-As4">
|
||||
<rect key="frame" x="262" y="166" width="49" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="height" placeholderString="height" drawsBackground="YES" id="56I-cY-cml">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bgh-Ds-kMn">
|
||||
<rect key="frame" x="260" y="287" width="47" height="17"/>
|
||||
<textFieldCell key="cell" allowsUndo="NO" alignment="right" title="Height" id="Ato-zm-vpN">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button identifier="verbose" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="isQ-0Q-gQ4">
|
||||
<rect key="frame" x="57" y="168" width="129" height="18"/>
|
||||
<string key="toolTip">Verbose mode causes A/UX to print diagnostic info during boot, and it will also run fsck to repair the root filesystem if necessary.</string>
|
||||
<buttonCell key="cell" type="check" title="Enable Screen 4" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="dNj-R0-mIT">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
@ -157,7 +335,6 @@
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dA0-AE-SsA">
|
||||
<rect key="frame" x="1" y="321" width="72" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="SCSI ID 0" usesSingleLineMode="YES" id="YYd-8o-kqe">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -166,7 +343,6 @@
|
||||
</textField>
|
||||
<button identifier="scsiPath0Browse" verticalHuggingPriority="750" fixedFrame="YES" tag="9" translatesAutoresizingMaskIntoConstraints="NO" id="BUV-3F-sRD">
|
||||
<rect key="frame" x="353" y="310" width="97" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Browse..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Ekq-OL-WH9">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -177,7 +353,6 @@
|
||||
</button>
|
||||
<textField identifier="scsiPath0" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nhQ-gw-2di">
|
||||
<rect key="frame" x="79" y="299" width="272" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="None" drawsBackground="YES" id="4NZ-tu-sNu">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -186,7 +361,6 @@
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Gjz-Nn-CkC">
|
||||
<rect key="frame" x="1" y="274" width="72" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="SCSI ID 1" usesSingleLineMode="YES" id="oPB-iw-Fuy">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -195,7 +369,6 @@
|
||||
</textField>
|
||||
<button identifier="scsiPath1Browse" verticalHuggingPriority="750" fixedFrame="YES" tag="9" translatesAutoresizingMaskIntoConstraints="NO" id="0OE-Ny-sRU">
|
||||
<rect key="frame" x="353" y="263" width="97" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Browse..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="iRT-nY-bQx">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -206,7 +379,6 @@
|
||||
</button>
|
||||
<textField identifier="scsiPath1" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8th-va-hXP">
|
||||
<rect key="frame" x="79" y="252" width="272" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="None" drawsBackground="YES" id="wM4-Hu-6dD">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -215,7 +387,6 @@
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="17i-H8-woP">
|
||||
<rect key="frame" x="1" y="227" width="72" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="SCSI ID 2" usesSingleLineMode="YES" id="rWu-qs-tIH">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -224,7 +395,6 @@
|
||||
</textField>
|
||||
<button identifier="scsiPath2Browse" verticalHuggingPriority="750" fixedFrame="YES" tag="9" translatesAutoresizingMaskIntoConstraints="NO" id="OS6-vm-18P">
|
||||
<rect key="frame" x="353" y="216" width="97" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Browse..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="ojq-kT-7Hz">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -235,7 +405,6 @@
|
||||
</button>
|
||||
<textField identifier="scsiPath2" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RTT-NZ-Tte">
|
||||
<rect key="frame" x="79" y="205" width="272" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="None" drawsBackground="YES" id="bx9-L2-52p">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -244,7 +413,6 @@
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zeV-Os-yjZ">
|
||||
<rect key="frame" x="1" y="180" width="72" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="SCSI ID 3" usesSingleLineMode="YES" id="4Ir-Qy-6TG">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -253,7 +421,6 @@
|
||||
</textField>
|
||||
<button identifier="scsiPath3Browse" verticalHuggingPriority="750" fixedFrame="YES" tag="9" translatesAutoresizingMaskIntoConstraints="NO" id="hyG-x9-NBA">
|
||||
<rect key="frame" x="353" y="169" width="97" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Browse..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Toc-PB-8FO">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -264,7 +431,6 @@
|
||||
</button>
|
||||
<textField identifier="scsiPath3" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pKG-3S-zID">
|
||||
<rect key="frame" x="79" y="158" width="272" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="None" drawsBackground="YES" id="Ksz-dn-t4g">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -273,7 +439,6 @@
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Rpv-lh-1BC">
|
||||
<rect key="frame" x="1" y="133" width="72" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="SCSI ID 4" usesSingleLineMode="YES" id="RSB-J8-WHv">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -282,7 +447,6 @@
|
||||
</textField>
|
||||
<button identifier="scsiPath4Browse" verticalHuggingPriority="750" fixedFrame="YES" tag="9" translatesAutoresizingMaskIntoConstraints="NO" id="FUw-LT-FRg">
|
||||
<rect key="frame" x="353" y="122" width="97" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Browse..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="CDZ-hc-2Kz">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -293,7 +457,6 @@
|
||||
</button>
|
||||
<textField identifier="scsiPath4" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Biz-iI-IiP">
|
||||
<rect key="frame" x="79" y="111" width="272" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="None" drawsBackground="YES" id="j2E-vU-3LZ">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -302,7 +465,6 @@
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="eGO-wX-v7I">
|
||||
<rect key="frame" x="1" y="86" width="72" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="SCSI ID 5" usesSingleLineMode="YES" id="lVw-XZ-DkQ">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -311,7 +473,6 @@
|
||||
</textField>
|
||||
<button identifier="scsiPath5Browse" verticalHuggingPriority="750" fixedFrame="YES" tag="9" translatesAutoresizingMaskIntoConstraints="NO" id="Ur1-2a-9nV">
|
||||
<rect key="frame" x="353" y="75" width="97" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Browse..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="QW3-hO-eDz">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -322,7 +483,6 @@
|
||||
</button>
|
||||
<textField identifier="scsiPath5" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GE2-3P-G1I">
|
||||
<rect key="frame" x="79" y="64" width="272" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="None" drawsBackground="YES" id="BrK-XM-gcx">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -331,7 +491,6 @@
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="c4H-Kt-ANK">
|
||||
<rect key="frame" x="1" y="39" width="72" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="SCSI ID 6" usesSingleLineMode="YES" id="NS8-2m-U2B">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -340,7 +499,6 @@
|
||||
</textField>
|
||||
<button identifier="scsiPath6Browse" verticalHuggingPriority="750" fixedFrame="YES" tag="9" translatesAutoresizingMaskIntoConstraints="NO" id="Twn-Yd-cyf">
|
||||
<rect key="frame" x="353" y="28" width="97" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Browse..." bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="JNl-qq-v8p">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -351,7 +509,6 @@
|
||||
</button>
|
||||
<textField identifier="scsiPath6" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cy8-jg-woV">
|
||||
<rect key="frame" x="79" y="17" width="272" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="None" drawsBackground="YES" id="gZa-0y-cOt">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -361,35 +518,56 @@
|
||||
</subviews>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Booting" identifier="" id="3o8-Ma-LAk">
|
||||
<view key="view" id="Zdy-ik-svz">
|
||||
<tabViewItem label="Ethernet" identifier="" id="npc-ti-4lo">
|
||||
<view key="view" id="2Hm-kn-wCU">
|
||||
<rect key="frame" x="10" y="33" width="452" height="348"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="0nJ-ho-P1P">
|
||||
<rect key="frame" x="6" y="315" width="81" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="Kernel Path:" usesSingleLineMode="YES" id="Wdx-2C-yGA">
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="oLm-yd-Ca2">
|
||||
<rect key="frame" x="15" y="272" width="93" height="17"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="MAC Address:" usesSingleLineMode="YES" id="vve-T4-Rce">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="kernelPath" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zU0-5O-afD">
|
||||
<rect key="frame" x="93" y="310" width="342" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<string key="toolTip">The path to the kernel on the root image. If you don't know what this is, just use "/unix" (Note: the root image needs to be at SCSI ID 0)</string>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="/unix" drawsBackground="YES" id="0MQ-1P-9gJ">
|
||||
<textField identifier="macAddress" toolTip="The MAC address of the emulated ethernet card" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="UAs-x7-p28">
|
||||
<rect key="frame" x="114" y="269" width="160" height="22"/>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="AA:AA:AA:AA:AA:AA" placeholderString="01:02:03:04:05:06" drawsBackground="YES" id="2is-7Y-0d2">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button identifier="verbose" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fkL-RE-iRz">
|
||||
<rect key="frame" x="6" y="271" width="142" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<string key="toolTip">Verbose mode causes A/UX to print diagnostic info during boot, and it will also run fsck to repair the root filesystem if necessary.</string>
|
||||
<buttonCell key="cell" type="check" title="A/UX Verbose Boot" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="htQ-zH-VRv">
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vp5-0F-Hl5">
|
||||
<rect key="frame" x="30" y="302" width="78" height="17"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" allowsUndo="NO" alignment="right" title="TAP Device:" usesSingleLineMode="YES" id="QWi-Fs-xtO">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField identifier="tapPath" toolTip="The path to the TAP device (/dev/tap0 should be fine)" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wvc-cC-QWO">
|
||||
<rect key="frame" x="114" y="299" width="313" height="22"/>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="/dev/tap0" placeholderString="/dev/tap0" drawsBackground="YES" id="Sb8-nl-Q5r">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button toolTip="Generate a new MAC address" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gZ8-0N-f6V">
|
||||
<rect key="frame" x="276" y="263" width="157" height="32"/>
|
||||
<buttonCell key="cell" type="push" title="New MAC Address" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="04X-Ao-SYd">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="newMacAddrPressed:" target="-2" id="Lgm-OH-3ff"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button identifier="enableEthernet" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GCJ-G0-drE">
|
||||
<rect key="frame" x="15" y="218" width="142" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Ethernet" bezelStyle="regularSquare" imagePosition="left" inset="2" id="03F-wY-3oH">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
@ -401,7 +579,6 @@
|
||||
</tabView>
|
||||
<button identifier="applyAndRun" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="r8k-B7-iXM">
|
||||
<rect key="frame" x="352" y="5" width="132" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Apply and Run" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="oR1-x8-VgY">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -412,7 +589,6 @@
|
||||
</button>
|
||||
<button identifier="cancel" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="T6y-kh-jgH">
|
||||
<rect key="frame" x="188" y="5" width="82" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Sk4-hr-Ot6">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -426,7 +602,6 @@ Gw
|
||||
</button>
|
||||
<button identifier="apply" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ZDd-0H-a3B">
|
||||
<rect key="frame" x="270" y="5" width="82" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Apply" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="bC6-3u-5Op">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
|
Loading…
Reference in New Issue
Block a user