Bool VMPrtDsk(CTask *task,CATARep *ata_drv) { if (ata_drv) { XTalkWait(task,"PrtDsk;\nYCp%d\nYYY",ata_drv->num); XTalkWait(task,"%d\nY\nY\n",(drv_dsk_dsk_size-DRV_HEADER)/2); return TRUE; } else return FALSE; } U0 VMInstallBoot(CTask *task,U8 dvd_drv,U8 drv, CATARep *ata_drv,CATARep *atapi_drv) { U8 *st1,*st2; st1=MStrPrint("%C:/",dvd_drv); st2=MStrPrint("%C:/",drv); CopyTree(st1,st2); Free(st1); Free(st2); st1=MStrPrint("%C:/Home",drv); MkDir(st1); Copy("::/Misc/DoDistro.CPP.Z",st1); Copy("::/MakeHome.CPP.Z",st1); Free(st1); XTalkWait(task, "MakeOSDrvBootInstall('%C');\n" "\nB\n0x20000\n",drv); if (ata_drv) XTalkWait(task,"Cp%d\n",ata_drv->num); if (atapi_drv) XTalkWait(task,"Tp%d\n",atapi_drv->num); XTalkWait(task, "\n" //Exit Drives "\n" //Dsk Cache "\n"); //Options } U0 VMInstallWiz() { CATARep *root=NULL,*ata_drv=NULL,*atapi_drv=NULL; CTask *task; "\nIt's normal for this to freeze for a moment or two.\n"; PressAKey; task=User; TaskWait(task); WinHorz(Fs->win_left,Fs->win_right,task); WinVert(Fs->win_top,(Fs->win_top+Fs->win_bottom)>>2-1,task); WinVert(task->win_bottom+3,Fs->win_bottom); WinToTop(Fs); ATARep(FALSE,TRUE,&root); ATAIDDrvs(root,blkdev.boot_drv_let,&ata_drv,&atapi_drv); if (VMPrtDsk(task,ata_drv)) { VMInstallBoot(task,blkdev.boot_drv_let,'C',ata_drv,atapi_drv); VMInstallBoot(task,blkdev.boot_drv_let,'D',ata_drv,atapi_drv); MasterBootIntall('C'); } LinkedLstDel(root); WinVert(task->win_top,Fs->win_bottom); Kill(task); } U0 RegularInstallWiz() { I64 unit; U8 *base0,*base1,*ms,*dst,*st1,*st2,*new_home_str; CATARep *root=NULL,*tempha; I64 ch,num_hints; CTask *task; "\nIt's normal for this to freeze for a moment or two.\n"; PressAKey; task=User; TaskWait(task); WinHorz(Fs->win_left,Fs->win_right,task); WinVert(Fs->win_top,(Fs->win_top+Fs->win_bottom)>>2-1,task); WinVert(task->win_bottom+3,Fs->win_bottom); WinToTop(Fs); XTalk(task,"Mount;\nC "); num_hints=ATARep(FALSE,,&root); "\nInclude '$$PURPLE$$0x$$FG$$' for hexidecimal numbers.\n\n"; while (TRUE) { base0=GetStr("Hard Drive I/O Port Base0 : "); if (0base0); base1=MStrPrint("0x%X",tempha->base1); ms =MStrPrint("0x%X",tempha->unit); unit=Str2I64(ms); } else { while (TRUE) { base1=GetStr("Hard Drive I/O Port Base1 : "); if (0win_top,Fs->win_bottom); Kill(task); } U0 DoInstructions() { CTask *task; AutoComplete; task=Fs->next_task; while (task!=Fs) { if (task!=adam_task && task!=sys_winmgr_task && task!=ac.task) { XTalk(task,"Ed(\"::/Doc/Install.TXT.Z\");\n"); break; } task=task->next_task; } } U0 DoInstall() { I64 vm_install,pmt_reboot; "\n\n\n\n\nAre you installing inside VMware, QEMU, VirtualBox " "or a similar virtual machine? "; vm_install=YorN; DocBottom; if (vm_install) { VMInstallWiz(); pmt_reboot=TRUE; } else { "\n\nThis wizard works if you have a partition ready. " "You can partition the drive or MakeOSDrvBootInstall() " "with more options if you do it by hand, not using this wizard.\n\n" "Continue Install Wizard "; if (pmt_reboot=YorN) RegularInstallWiz(); } if (pmt_reboot) { "Reboot Now "; if (YorN) Reboot; } } DoInstructions; DoInstall;