TempleOSTS_130707.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:45:45 +02:00
1 parent 17b71f1a2d
commit 1343005a29
617 files changed
+14399 -25130

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
//Change anything you want in this
//acct file or others.
#exe {OptOn(OPTf_WARN_PAREN);};
#exe {OptOn(OPTf_WARN_DUP_TYPES);};
#include "HOME/Adam3aLocalize"
#include "HOME/Adam3bPkgs"
#include "HOME/Adam3dKeyPlugIns"
#include "HOME/Adam3eWrappers"
#include "HOME/Adam3fSys"
#exe {OptOff(OPTf_WARN_PAREN);};
#exe {OptOff(OPTf_WARN_DUP_TYPES);};
-2
View File
@@ -7,8 +7,6 @@ SetTypeMatic(0);
//Set Time Zone
local_time_offset=-7*60*60*CDATE_FREQ; //Pacific
snd_vol=0.1;
//$AN,"","mouse_move_scale"$adjust these to set mouse move scale
mxx_scale=0.5;
myy_scale=0.5;
@@ -1,488 +0,0 @@
//ISO1 is ISO9660
//ISO2 is ISO13490
//ISO3 is ISO13346
//ISO13346 tag id types
#define ISO3T_PRI_VOL_DESC 1
#define ISO3T_ANCHOR_VOL_DESC_PTR 2
#define ISO3T_VOL_DESC_PTR 3
#define ISO3T_IMPLEMENTATION_VOL_DESC 4
#define ISO3T_PRT_DESC 5
#define ISO3T_LOG_VOL_DESC 6
#define ISO3T_UNALLOCATED_SPACE_DESC 7
#define ISO3T_TERMINATOR_DESC 8
#define ISO3T_LOG_VOL_INTEGRITY_DESC 9
#define ISO3T_FILE_SET_DESC 256
#define ISO3T_FILE_ID_DESC 257
#define ISO3T_ALLOC_EXTENT_DESC 258
#define ISO3T_INDIRECT_ENTRY 259
#define ISO3T_TERMINAL_ENTRY 260
#define ISO3T_FILE_ENTRY 261
#define ISO3T_EXT_ATTR_HEADER_DESC 262
#define ISO3T_UNALLOC_SPACE_ENTRY 263
#define ISO3T_SPACE_BITMAP_DESC 264
#define ISO3T_PRT_INTEGRITY_ENTRY 265
#define ISO3T_EXT_FILE_ENTRY 266
class CISO3Tag
{
U16 id;
U16 version;
U8 xsum;
U8 reserved;
U16 serial_num;
U16 desc_crc;
U16 desc_crc_len;
U32 loc;
};
class CISO3Date
{
U16 time_zone;
I16 year;
U8 mon;
U8 day;
U8 hour;
U8 min;
U8 sec;
U8 sec100;
U8 sec10000;
U8 sec1000000;
};
class CISO3DString32
{
U8 body[31];
U8 len;
};
class CISO3DString128
{
U8 body[127];
U8 len;
};
class CISO3CharSpec
{
U8 type;
U8 body[63];
};
class CISO3RegId
{
U8 flags;
U8 id[23];
U8 id_suffix[8];
};
class CISO3ExtentAD
{
U32 len;
U32 loc;
};
class CISO3LBAdd
{
U32 log_blk_num;
U16 prt_ref_num;
};
class CISO3LongAD
{
U32 len;
CISO3LBAdd loc;
U8 implementation_use[6];
};
class CISO3ICBTag
{
U32 prior_record_direct_entries;
U16 strategy_type;
U16 strategy_param;
U16 max_entries;
U8 reserved;
U8 file_type;
CISO3LBAdd parent_icb_loc;
U16 flags;
};
class CISO3PriDesc
{
CISO3Tag tag;
U32 vol_desc_seq_num;
U32 pri_vol_desc_num;
CISO3DString32 vol_id;
U16 vol_seq_num;
U16 max_vol_seq_num;
U16 interchg_level;
U16 max_interchg_level;
U32 char_set_lst;
U32 max_char_set_lst;
CISO3DString128 vol_set_id;
CISO3CharSpec desc_char_set;
CISO3CharSpec explanatory_char_set;
CISO3ExtentAD vol_abstract;
CISO3ExtentAD vol_copyright_notice;
CISO3RegId app_id;
CISO3Date recording_date_time;
CISO3RegId implementation_id[32];
U8 implementation_use[64];
U32 pred_vol_desc_seq_loc;
U16 flags;
U8 reserved[22];
};
class CISO3PrtMap
{
U8 type;
U8 len;
U0 mapping;
};
class CISO3PrtMap1
{
U8 type;
U8 len;
U16 vol_seq_num;
U16 prt_num;
};
class CISO3PrtMap2
{
U8 type;
U8 len;
U8 prt_id[62];
};
class CISO3LogVolDesc
{
CISO3Tag tag;
U32 vol_desc_seq_num;
CISO3CharSpec desc_char_set;
CISO3DString128 log_vol_id;
U32 blk_size;
CISO3RegId domain_id;
U8 log_vol_contents_use[16];
U32 map_table_len;
U32 num_prt_maps;
CISO3RegId implementation_id;
U8 implementation_use[128];
CISO3ExtentAD integrity_seq_extent;
U0 prt_maps;
};
class CISO3Prt
{
CISO3Tag tag;
U32 vol_desc_seq_num;
U16 flags;
U16 num;
CISO3RegId contents;
U8 contents_use[128];
U32 access_type;
U32 starting_loc;
U32 len;
CISO3RegId implementation_id;
U8 implementation_use[128];
U8 reserved[156];
};
class CISO3FileSetDesc
{
CISO3Tag tag;
CISO3Date recording_date_time;
U16 interchg_level;
U16 max_interchg_level;
U32 char_set_lst;
U32 max_char_set_lst;
U32 file_set_num;
U32 file_set_desc_num;
CISO3CharSpec log_vol_id_char_set;
CISO3DString128 log_vol_id;
CISO3CharSpec file_set_char_set;
CISO3DString32 file_set_id;
CISO3DString32 copyright_file_id;
CISO3DString32 abstract_file_id;
CISO3LongAD root_dir_icb;
CISO3RegId domain_id;
CISO3LongAD next_extent;
CISO3LongAD sys_stream_dir_icb;
U8 reserved[32];
};
class CISO3FileIdDesc
{
CISO3Tag tag;
U16 version;
U8 characteristics;
U8 len_of_file_id;
CISO3LongAD icb;
U16 len_of_implementation_use;
U0 implementation_use;
U0 file_id;
};
class CISO3File
{
CISO3Tag tag;
CISO3ICBTag icb_tag;
U32 uid;
U32 gid;
U32 permissions;
U16 file_link_cnt;
U8 record_fmt;
U8 record_display_attr;
U32 record_len;
I64 info_len;
I64 log_blks_recorded;
CISO3Date access_date_time;
CISO3Date modification_date_time;
CISO3Date attr_date_time;
U32 chk_pt;
CISO3LongAD ext_attr_icb;
CISO3RegId implementation_id;
I64 unique_id;
U32 ext_attr_len;
U32 alloc_desc_len;
U0 ext_attr;
U0 alloc_desc;
};
class CISO3FileExt
{
CISO3Tag tag;
CISO3ICBTag icb_tag;
U32 uid;
U32 gid;
U32 permissions;
U16 file_link_cnt;
U8 record_fmt;
U8 record_display_attr;
U32 record_len;
I64 info_len;
I64 object_size;
I64 log_blks_recorded;
CISO3Date access_date_time;
CISO3Date modification_date_time;
CISO3Date creation_date_time;
CISO3Date attr_date_time;
U32 chk_pt;
U32 reserved;
CISO3LongAD ext_attr_icb;
CISO3LongAD stream_dir_icb;
CISO3RegId implementation_id;
I64 unique_id;
U32 ext_attr_len;
U32 alloc_desc_len;
U0 ext_attr;
U0 alloc_desc;
};
import U0 ClassRep(U8 *class_name,U8 *d,I64 max_depth=2,Bool fun=FALSE,I64 offset=0);
Bool ISO3PrtInitPrt(CPrt *p,I64 blk)
{
CBlkDev *bdev=p->bdev;
I64 spc=bdev->blk_size>>BLK_SIZE_BITS,i=blk/spc;
CISO3FileSetDesc *iso=MAlloc(bdev->blk_size);
Bool unlock,result=FALSE;
try {
unlock=PrtLock(p);
while (TRUE) {
p->size=MaxI64(p->size,(i+1)*spc);
RBlks(p,iso,i*spc,spc);
"%X:%X\n",i,iso->tag.id;
switch (iso->tag.id) {
case ISO3T_FILE_SET_DESC:
ClassRep("CISO3FileSetDesc",iso,3);
// p->offset=blk;
// p->root_cluster=iso->root_dir_icb.loc.log_blk_num+p->offset/spc;
result=TRUE;
break;
case ISO3T_EXT_FILE_ENTRY:
ClassRep("CISO3FileExt",iso,3);
break;
case ISO3T_FILE_ENTRY:
ClassRep("CISO3File",iso,3);
break;
case ISO3T_FILE_ID_DESC:
ClassRep("CISO3FileIdDesc",iso,3);
break;
case ISO3T_ALLOC_EXTENT_DESC:
case ISO3T_INDIRECT_ENTRY:
case ISO3T_TERMINAL_ENTRY:
case ISO3T_EXT_ATTR_HEADER_DESC:
case ISO3T_UNALLOC_SPACE_ENTRY:
case ISO3T_SPACE_BITMAP_DESC:
case ISO3T_PRT_INTEGRITY_ENTRY:
break;
default
goto i3pip_done;
}
i++;
}
i3pip_done:
Free(iso);
if (unlock)
PrtUnlock(p);
} catch {
Free(iso);
if (unlock)
PrtUnlock(p);
}
return result;
}
Bool ISO3PrtInit(CPrt *p,I64 blk)
{
CBlkDev *bdev=p->bdev;
I64 spc=bdev->blk_size>>BLK_SIZE_BITS,i=blk/spc,offset=0;
CISO3Prt *iso=MAlloc(bdev->blk_size);
Bool unlock,result=FALSE;
try {
unlock=PrtLock(p);
while (TRUE) {
p->size=MaxI64(p->size,(i+1)*spc);
RBlks(p,iso,i*spc,spc);
"%X:%X\n",i,iso->tag.id;
switch (iso->tag.id) {
case ISO3T_PRT_DESC:
ClassRep("CISO3Prt",iso,3);
offset=iso->starting_loc*spc; //one partition for now
break;
case ISO3T_PRI_VOL_DESC:
ClassRep("CISO3PriDesc",iso,3);
break;
case ISO3T_LOG_VOL_DESC:
ClassRep("CISO3LogVolDesc",iso,3);
D(&iso(CISO3LogVolDesc *)->prt_maps);
break;
case ISO3T_ANCHOR_VOL_DESC_PTR:
case ISO3T_VOL_DESC_PTR:
case ISO3T_IMPLEMENTATION_VOL_DESC:
case ISO3T_UNALLOCATED_SPACE_DESC:
case ISO3T_LOG_VOL_INTEGRITY_DESC:
break;
case ISO3T_TERMINATOR_DESC:
goto i3pi_done;
default:
PutDefineErr("ST_UNSUPPORTED_FILE_SYSTEM");
throw(EXCEPT_PRT,10);
}
i++;
}
i3pi_done:
if (offset)
result=ISO3PrtInitPrt(p,offset);
Free(iso);
if (unlock)
PrtUnlock(p);
} catch {
Free(iso);
if (unlock)
PrtUnlock(p);
}
return result;
}
/****
U0 CDate2ISO3(CISO3Date *dst,CDate spdt)
{
CDateStruct ds;
CDate2CDateStruct(&ds,spdt);
MemSet(dst,0,sizeof(CISO3Date));
dst->year=ds.year;
dst->mon=ds.mon;
dst->day=ds.day_of_mon;
dst->hour=ds.hour;
dst->min=ds.min;
dst->sec=ds.sec;
dst->sec100=ds.sec100;
}
CDate ISO3Date2CDate(CISO3Date *dt)
{
CDateStruct ds;
MemSet(&ds,0,sizeof(CDateStruct));
ds.day_of_mon=dt->day;
ds.mon=dt->mon;
ds.year=dt->year;
ds.sec100=dt->sec100;
ds.sec=dt->sec;
ds.min=dt->min;
ds.hour=dt->hour;
return CDateStruct2CDate(&ds);
}
****/
Bool ISOPrtInit(CPrt *p,I64 blk)
{
CBlkDev *bdev=p->bdev;
I64 spc=bdev->blk_size>>BLK_SIZE_BITS,i=blk/spc;
CISO1PriDesc *iso=MAlloc(bdev->blk_size);
CISO1DirEntry *de;
Bool unlock,result=FALSE;
U8 buf[8];
try {
unlock=PrtLock(p);
p->type=PT_ISO9660; //default
p->spc=spc;
p->offset=p->data=p->root_cluster=p->size=0;
while (TRUE) {
p->size=MaxI64(p->size,(i+1)*spc);
RBlks(p,iso,i*spc,spc);
buf[0](U32)=iso->id[0](U32);
buf[4](U16)=iso->id[4](U8);
switch (LstEntryMatch(buf,"CD001\0CDW02\0BEA01\0BOOT2\0NSR02\0NSR03\0TEA01\0",LEF_EXACT)) {
case 0:
p->type=PT_ISO9660;
switch (iso->type) {
case ISO1T_SUPPLEMENTARY_DESC:
p->data=0;
de=&iso->root_dir_record;
p->root_cluster=de->loc.little;
p->size=iso->vol_space_size.little*bdev->blk_size>>BLK_SIZE_BITS;
result=TRUE;
goto ipi_done;
case ISO1T_TERMINATOR:
throw(EXCEPT_PRT,11);
}
break;
case 2...6:
p->type=PT_ISO13346;
break;
case 1: //PT_ISO13490 (Not supported)
default: //Its normal for ISO13346 to read NULL blk as terminator
switch (p->type) {
case PT_ISO13346:
i++; //Terminator is blk after last valid. Advance to next blk
if (ISO3PrtInit(p,i*spc)) {
result=TRUE;
goto ipi_done;
}
break;
}
PutDefineErr("ST_UNSUPPORTED_FILE_SYSTEM");
throw(EXCEPT_PRT,12);
}
i++;
}
ipi_done:
Free(iso);
if (unlock)
PrtUnlock(p);
} catch {
p->type=PT_ISO9660;
p->spc=spc;
p->offset=p->data=p->root_cluster=0;
Free(iso);
if (unlock)
PrtUnlock(p);
}
return result;
}
Binary file not shown.
@@ -1,21 +0,0 @@
$WW,1$I have a million metaphors. Linux is a semi; Windows is a car; and TempleOS is a motorcycle. Or, it's like a 1960's muscle car that wouldn't be street legal, now, with all the safety crap regulations complicating and gunking-up, but boy is it fun and beautiful under the hood. Maybe, it's a tree-house -- you don't need building codes to mod it and it has no networking. It's a kayak, not a Titanic -- just reset it. Why do you want a 1970's main frame operating system, anyway, that has ugly 32-bit crap all over its C language? 7-bit ASCII for source code? Please! Why not fix all the standard C library to pure 64-bit? How awful PrintF() with "%ld" instead of "%d" and crap for long constants! Yuck! You'll love $LK,"TempleOS C","FI:::/TempleOS/Doc/Differences.TXT"$.
Okay, here's a $LK,"Pop Quiz","FI:::/TempleOS/Demo/Lectures/64BitAsmQuiz.TXT"$ to get you psyched-up for TempleOS! Assembly language knowledge is not required, but anyone interested in TempleOS is probably at least curious about assembly language.
TempleOS has a good chance of running natively on $FG,4$x86_64$FG$ machines from about 2003-2010. After that, it will probably work just in VMware.
1) Download the free $FG,4$$TX+HTML,"TempleOSCD.ISO (24.0 MB)","http://www.templeos.org/TempleOSCD.ISO"$$FG$.
2) Download the free $FG,4$$TX+HTML,"VMware Player","https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0"$$FG$ (The $FG,4$$TX+HTML,"VMware","https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0"$$FG$ web page takes a whole minute to load completely. Be patient. When it finally shows, pick the first ".exe" to download.)
3) Create an "Other 64-Bit" virtual machine. Aim its CD-ROM to TempleOSCD.ISO
4) Play the virtual machine.
5) Log-in as "Accts/Install".
6) Optionally, purchase $FG,4$$TX+HTML,"VMware WorkStation","http://www.vmware.com"$$FG$ or download $FG,4$$TX+HTML,"WinImage","http://www.winimage.com/winimage.htm"$$FG$ if you wish to transfer files in and out.
If you want to install my personal version for $FG,4$$TX+HTML,"VMware","https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0"$$FG$...
1b) Download the free $FG,4$$TX+HTML,"TempleOSTS.ISO (24.5 MB)","http://www.templeos.org/TempleOSTS.ISO"$$FG$.
3b) Create an "Other 64-Bit" virtual machine. Aim its CD-ROM to TempleOSTS.ISO
5b) Type >$FG,4$TSInstall;$FG$ or >$FG,4$TSUpgrade;$FG$ at the command-line.
7b) See $FG,4$MakeBackUp$FG$ to reproduce the ISO's in $FG,4$E:/Wb$FG$. It makes this website, too.
* "WinImage" is a trademark of Gilles Vollant.
-217
View File
@@ -1,217 +0,0 @@
/*
You can play with this if you are
interested in USB. I'm not planning
on doing USB unless the legacy PS2
keyboard/mouse mode disappears.
There EHCI UHCI in various ICH chips and
others and God knows how many custom packet
formats for different keyboards and mice. Okay,
I suppose if BIOS can make a universal
packet, it is done just one way for
different mice. PS2 is more compatible.
*/
#help_index "USB"
extern I64 sys_num_usb;
extern CUSB sys_usb_devs[MAX_USB];
extern CUSBTD *USBAllocTD();
extern U0 USBFreeTD(CUSBTD *temptd);
extern U0 USBEndAll();
extern U0 USBInitAll();
extern U32 *USBAllocFrameLst(I64 usb_num,I64 size);
U8 *StatCB(CDoc *,CDocEntry *doc_e,CTask *mem_task)
{ //This routine shows the stat of the USB ports
U8 *st=MAlloc(128,mem_task);
U16 w1,w2,w3,w4;
U32 d1;
CUSB *u=doc_e->user_data;
I64 d=u->ports;
w3=InU16(d+USBP_STS);
w1=InU16(d+USBP_PORTSC0); w2=InU16(d+USBP_PORTSC1);
w4=InU16(d+USBP_FRNUM);
d1=InU32(d+USBP_FRBASEADD);
SPrintF(st,"%X:Stat:%04X P0:%04X P1:%04X FRAME:%04X",d1,w3,w1,w2,w4);
return st;
}
U0 PutStat()
{
I64 i;
Bool old_preempt=Preempt(OFF);
CDocEntry *doc_e;
CUSB *u;
WinMax;
"$$FG,GREEN$$Dev Stat Bits\n$$FG$$"
" 0:IRQ\n"
" 1:IRQ err\n"
" 2:Resume\n"
" 3:Host Sys Err\n"
" 4:Host Process Err\n"
" 5:Halted\n"
"$$FG,GREEN$$Port Stat Bits\n$$FG$$"
" 0:Connection Stat\n"
" 1:Connection Stat Change\n"
" 2:Port Enabled\n"
" 3:Port Enabled Change\n"
"4-5:Line Stat\n"
" 6:Resume Detect\n"
" 8:Low Speed\n"
" 9:Port Rst\n"
" 10:Overcurrent Active\n"
" 11:Overcurrent Indicator\n"
" 12:Suspend\n\n";
for (i=0;i<sys_num_usb;i++) {
u=&sys_usb_devs[i];
"$$FG,LTRED$$Dev%d:%X:",i,u->ports;
doc_e=DocPutS(DocCur,"$$TX+TC,\" \"$$");
doc_e->user_data=&sys_usb_devs[i];
doc_e->tag_cb=&StatCB;
"$$FG$$\n";
}
Preempt(old_preempt);
NewLine;
}
extern U0 PutQH(U32 h);
U32 *P(U32 d)
{
return d&~3;
}
U0 PutTD(U32 t)
{
"TD:$$FG,GREEN$$%08X$$FG$$\n",t;
"%08X\n",*P(t);
DocDm(t+4,8);
if (*P(t+12))
DocDm(*P(t+12),16);
// DocDm(*P(t+12),*P(t+4)>>21&0x7FF);
if (!(*P(t)&1)) {
if (*P(t)&2)
PutQH(*P(t));
else
PutTD(*P(t));
}
}
U0 PutQH(U32 h)
{
"QH:$$FG,RED$$%08X$$FG$$\n",h;
"%08X\n",*P(h);
"%08X\n",*P(h+4);
if (!(*P(h)&1)) {
if (*P(h)&2)
PutQH(*P(h));
else
PutTD(*P(h));
}
if (!(*P(h+4)&1)) {
if (*P(h+4)&2)
PutQH(*P(h+4));
else
PutTD(*P(h+4));
}
}
U0 PutFrame(U32 f)
{
PutQH(f);
}
U0 PutFrames()
{
I64 i,d,f,w1,w2;
CUSB *u;
for (i=0;i<sys_num_usb;i++) {
u=&sys_usb_devs[i];
d=u->ports;
w1=InU16(d+USBP_PORTSC0); w2=InU16(d+USBP_PORTSC1);
if (w1&1 || w2&1) {
f=InU32(d+USBP_FRBASEADD);
PutFrame(f);
}
}
}
U0 Main()
{
USBInitAll;
PutStat;
PutFrames;
"$$FG,RED$$The BIOS sets-up the USB in PS/2 legacy mode.$$FG$$\n";
}
Main;
/* Not Finished
#define PORT 5
#define DEV_ADD_INIT 1
#define DEV_ADD 1
#define END_PT0 0
#define END_PT1 1
#define END_PT2 2
#define MAX_LEN 8
#define TERMINATE 1
U0 SetUpTD()
{
CUSB *u=&sys_usb_devs[PORT];
I64 i,d=u->ports;
U32 *frm=CAllocAligned(0x1000,0x1000,Fs->code_heap),
*tds=CAllocAligned(256,16,Fs->code_heap),
*buf=CAlloc(128,Fs->code_heap);
DocD(buf,128);
"<0>\n"; Sleep(100);
OutU16(d+USBP_CMD,2); //Reset
"<1>\n"; Sleep(100);
OutU16(d+USBP_CMD,0);
"<2>\n"; Sleep(100);
OutU16(d+USBP_PORTSC0,4); //Enable
OutU16(d+USBP_PORTSC1,4);
"<3>\n"; Sleep(100);
tds[0]=&tds[4](U8 *);
tds[1]=0;
tds[2]=PID_SETUP+DEV_ADD_INIT<<8+END_PT0<<15+MAX_LEN<<21;
tds[3]=buf;
buf[0]=0+RQ_SET_ADDR<<8+DEV_ADD<<16;
buf[1]=0+0<<16;
tds[4]=TERMINATE;
tds[5]=0;
tds[6]=PID_SETUP+DEV_ADD_INIT<<8+END_PT0<<15+MAX_LEN<<21;
tds[7]=buf(U8 *)+8;
buf[2]=0+RQ_SET_ADDR<<8+DEV_ADD<<16;
buf[3]=0+0<<16;
frm[0]=&tds[0](U8 *);
for (i=1;i<0x1000/4;i++)
frm[i]=TERMINATE;
OutU16(d+USBP_FRNUM,frm);
OutU32(d+USBP_FRBASEADD,frm);
"<4>\n"; Sleep(200);
OutU16(d+USBP_CMD,1);
"<5>\n"; Sleep(1000);
OutU16(d+USBP_CMD,0);
"<6>\n"; Sleep(200);
}
SetUpTD;
*/
-114
View File
@@ -1,114 +0,0 @@
#define USBP_CMD 0x00
#define USBP_STS 0x02
#define USBP_INTR 0x04
#define USBP_FRNUM 0x06
#define USBP_FRBASEADD 0x08
#define USBP_SOFMOD 0x0C
#define USBP_PORTSC0 0x10
#define USBP_PORTSC1 0x12
#define MAX_USB 16
class CUSBTD //Not implemented
{
U32 td[4];
};
class CUSB //Not implemented
{
U8 num, //USB dev num
bus,dev,fun;
U16 ports,pad;
U32 *frame_lst;
};
//USB Pkt ID's
#define PID_OUT 0xE1
#define PID_IN 0x69
#define PID_SOF 0xA5
#define PID_SETUP 0x2D
#define PID_DATA0 0xC3
#define PID_DATA1 0x4B
#define PID_DATA2 0x87
#define PID_MDATA 0x0F
#define PID_ACK 0xD2
#define PID_NAK 0x5A
#define PID_STALL 0x1E
#define PID_NYET 0x96
#define PID_PRE 0x3C
#define PID_ERR 0x3C
#define PID_SPLIT 0x78
#define PID_PING 0xB4
//USB Std Rqsts
#define RQ_GET_STAT 0x0
#define RQ_CLR_FEAT 0x1
#define RQ_SET_FEAT 0x3
#define RQ_SET_ADDR 0x5
#define RQ_SET_DESC 0x7
#define RQ_GET_CFG 0x8
#define RQ_SET_CFG 0x9
#define RQ_GET_INTERFACE 0xA
#define RQ_SET_INTERFACE 0xB
#define RQ_SYNC_FRAME 0xC
I64 sys_num_usb=0;
CUSB sys_usb_devs[MAX_USB];
MemSet(sys_usb_devs,0,MAX_USB*sizeof(CUSB));
U0 USBInitOne(I64 b,I64 d,I64 f)
{
CUSB *u;
if (sys_num_usb<MAX_USB &&
PCIReadU16(b,d,f,0)==0x8086) {
u=&sys_usb_devs[sys_num_usb++];
u->num=sys_num_usb;
u->bus=b;
u->dev=d;
u->fun=f;
u->ports=PCIReadU32(b,d,f,0x20)&~0x1F;
}
}
U0 USBEndAll()
{
sys_num_usb=0;
}
U0 USBInitAll() //This is only valid for my ICH10 dev
{
if (sys_num_usb)
USBEndAll;
USBInitOne(0,29,0);
USBInitOne(0,29,1);
USBInitOne(0,29,2);
USBInitOne(0,29,3);
USBInitOne(0,26,0);
USBInitOne(0,26,1);
USBInitOne(0,26,2);
}
CUSBTD *USBAllocTD()
{
return MAllocAligned(sizeof(CUSBTD),0x10,sys_uncached_heap);
}
U0 USBFreeTD(CUSBTD *temptd)
{
Free(temptd);
}
U32 *USBAllocFrameLst(I64 usb_num,I64 size)
{ //aligned to 0x1000
CUSB *u;
if (0<=usb_num<sys_num_usb) {
u=&sys_usb_devs[usb_num];
Free(u->frame_lst);
u->frame_lst=MAllocAligned(size*sizeof(U32),0x1000,sys_uncached_heap);
OutU16(u->ports+USBP_CMD,0); //Stop
OutU16(u->ports+USBP_FRNUM,0);
OutU32(u->ports+USBP_FRBASEADD,u->frame_lst);
return u->frame_lst;
}
return NULL;
}
-54
View File
@@ -1,54 +0,0 @@
/*$HL,0$
$FG,5$$TX+CX,"Roll Your Own Distro"$$FG$
It's unlikely you will get it running on bare hardware, so you'll probably
run it in a virtual machine such as VMware. Download the free 64-bit
$FG,4$$TX+HTML,"VMware Player","https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0"$$FG$ for Linux or Windows and point the CDROM at the $FG,4$$TX+HTML,"TempleOSCD.ISO","http://www.templeos.org/TempleOSCD.ISO"$$FG$.
(The $FG,4$$TX+HTML,"VMware","https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0"$$FG$ web page takes a whole minute to load. They hide the free version.)
Purchase $FG,4$$TX+HTML,"VMware WorkStation","http://www.vmware.com"$$FG$ or download $FG,4$$TX+HTML,"WinImage","http://www.winimage.com/winimage.htm"$$FG$ if you wish to transfer files
in and out. The VMWare Workstation will stretch to full-screen and make drives
accessible from Windows.
$HL,1$*/
#define STD_DISTRO_CDROM_CFG "b10x20000\nt3 \n\n\n\n\n"
U0 MakeMyISO(U8 *out_iso_filename)
{//Does everything with current drive.
if (!IsDrvWritable) {
"Drive must be writable. Install on Hard drive, first.\n";
return;
}
DelTree("/Distro");
Auto(STD_DISTRO_CDROM_CFG);
MakeOSInstallPrtBootLoader(,'T');
CopyTree("/0000Boot","/Distro/0000Boot");
CopyTree("/TempleOS","/Distro/TempleOS");
//To save space, optionally delete dictionary.
Del("/Distro/TempleOS/Adam/WordStat/WSDefs.DAT");
Del("/Distro/TempleOS/Misc/Bible.TXT.Z");
Del("/Distro/TempleOS/Misc/PCIDevices.TXT.Z");
MkDir("/Distro/Temp");
MkDir("/Distro/Temp/ScreenShots");
CDFileCreate(out_iso_filename,"/Distro/*","",BOOTCD_BIN_Z);
//CDImageWrite('T',out_iso_filename,MT_CD); //Uncomment to burn a CD-ROM or (MT_DVD)
//DelTree("/Distro");
}
MakeMyISO("/MyDistro.ISO");
// Study my account examples $LK,"Cfg Strs","FL:::/TempleOS/Demo/AcctExample/TSAdam.CPP,1"$ $LK,"Update Funs","FL:::/TempleOS/Demo/AcctExample/TSDistro.CPP,1"$.
/*
* "Linux" is probably a trademark owned by Linus Torvalds.
* "VMware Player" and "VMware WorkStation" are trademarks of VMware, Inc.
* "Windows" is a trademark of MicroSoft Corp.
* "WinImage" is a trademark of Gilles Vollant.
*/
+6 -5
View File
@@ -30,6 +30,7 @@ U0 Song()
CTask *task;
I64 i;
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->text_attr=LTCYAN<<4+BLACK;
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
@@ -52,16 +53,16 @@ U0 Song()
TaskWait(task);
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
"$$BD+H,LTCYAN$$$$FD+H,BLACK$$";
"$$BG+H,LTCYAN$$$$FD+H,BLACK$$";
while (!ScanKey) {
"$$FG,WHITE$$To God...\n$$FG$$";
Play("W13etCFE!!sDDDDD2G!3D2G!!3qC2eG3EqEetAA!F2qG",
Play("3etCFEsDDDDD2G3D2G3qC2eG3EqEetAAF2qG",
"I \0am \0a\0biding \0 \0 \0 \0in \0 \0Your \0 \0presence.\n\0 \0 \0 \0 \0 \0 \0 \0");
Play("3etCFE!!sDDDDD2G!3D2G!!3qC2eG3EqEetAA!F2qG",
Play("3etCFEsDDDDD2G3D2G3qC2eG3EqEetAAF2qG",
"I \0am \0a\0biding \0 \0 \0 \0in \0 \0Your \0 \0presence.\n\0 \0 \0 \0 \0 \0 \0 \0");
Play("!3DBsFGF!G2eG!!3FRDqEGeB!E",
Play("3DBsFGFG2eG3FRDqEGeBE",
"What \0a \0joy!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("!qDBsFGF!G2eG!!3FRDqEGeB!E",
Play("qDBsFGFG2eG3FRDqEGeBE",
"I'm \0so \0coy!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
+3 -3
View File
@@ -20,7 +20,7 @@ U0 Song()
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
Play("W13sBBBBqCq.BeAqBh.A",
Play("3sBBBBqCq.BeAqBh.A",
"Can't \0 \0 \0 \0get \0there, \0from \0he\0re.\n\0");
Play("M2/4");
Play("eECqAM4/4");
@@ -28,9 +28,9 @@ U0 Song()
"Can't \0 \0 \0 \0get \0there, \0from \0he\0re.\n\0");
Play("M2/4");
Play("eDDqDM4/4");
Play("DeEDqG!CeF2G3qG!!sFGFG!!eD!C",
Play("DeEDqGCeF2G3qGsFGFGeDC",
"Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0ver\0 \0y \0 \0wrong!\n\0 \0");
Play("qDeEDqG!CeF2G3qG!!sFGFG!!eD!C",
Play("qDeEDqGCeF2G3qGsFGFGeDC",
"Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0ver\0 \0y \0 \0wrong!\n\0 \0");
}
} catch
+4 -4
View File
@@ -57,13 +57,13 @@ U0 Song()
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
"$$FG,GREEN$$Jesus talking...$$FG$$\n";
Play("W13eBC!qB2sG3D2G3DetC!!GFsCBCB!etCGBeB!!GsBCB!C",
Play("3eBCqB2sG3D2G3DetCGFsCBCBetCGBeBGsBCBC",
"Stay \0a\0wake.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("eBC!qB2sG3D2G3DetC!!GFsCBCB!etCGBeB!!GsBCB!C",
Play("eBCqB2sG3D2G3DetCGFsCBCBetCGBeBGsBCBC",
"Stay \0a\0wake.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qD!sD!BD!BetA2G3GqB2G3sAD!ADqD!etGF!D",
Play("qDsDBDBetA2G3GqB2G3sADADqDetGFD",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0am \0a \0dead \0 \0man.\n\0");
Play("qD!sD!BD!BetA2G3GqB2G3sAD!ADqD!etGF!D",
Play("qDsDBDBetA2G3GqB2G3sADADqDetGFD",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0am \0a \0dead \0 \0man.\n\0");
}
} catch
Binary file not shown.
+4 -4
View File
@@ -37,13 +37,13 @@ U0 Song()
try {
while (!ScanKey) {
t0=tMBeat;
Play("3qB!eB2G!3qA!!eF!!AsF!AFA!!qC2sG!3A!2G3ARBRB",
Play("3qBeB2G3qAeFAsFAFAqC2sG3A2G3ARBRB",
"New \0day \0is \0born.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qB!eB2G!3qA!!eF!!AsF!AFA!!qC2sG!3A!2G3ARBRB",
Play("qBeB2G3qAeFAsFAFAqC2sG3A2G3ARBRB",
"Though \0it's \0the \0mourn',\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("!eDDR!!CqG!2eGR3qE!!etEA!!FqCsDGDG",
Play("eDDRCqG2eGR3qEetEAFqCsDGDG",
"cheer-\0up \0 \0the \0heart\n\0 \0 \0 \0 \0 \0 \0 \0 \0as \0 \0you \0");
Play("!eDDR!!CqG!2eGR3qE!!etEA!!FqCsDGDG",
Play("eDDRCqG2eGR3qEetEAFqCsDGDG",
"hitch-\0up \0 \0the \0cart.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
@@ -7,7 +7,7 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qEsCDCDqCDeEGsEBEBeCBsDADA",
Play("3qEsCDCDqCDeEGsEBEBeCBsDADA",
"Be \0like \0 \0a \0 \0child \0 \0 \0 \0some \0 \0re\0 \0spect.\n\0 \0 \0 \0 \0 \0");
Play("qEsCDCDqCDeEGsEBEBeCBsDADA",
"Ma\0tur\0 \0i\0 \0ty \0 \0 \0 \0don't \0 \0ne\0 \0glect.\n\0 \0 \0 \0 \0 \0");
@@ -7,13 +7,13 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qBAeEE!qAeA!EDB!2qG3F",
Play("3qBAeEEqAeAEDB2qG3F",
"$$FG,RED$$You \0need \0help!\n\0 \0 \0 \0Po\0-o\0-o\0r \0dear.\n\0");
Play("BAeEE!qAeA!EDB!2qG3F",
Play("BAeEEqAeAEDB2qG3F",
"You \0need \0help!\n\0 \0 \0 \0Po\0-o\0-o\0r \0dear.\n$$FG$$\0");
Play("!4eFG!!qDetF!E!D!eD!EetADEC3G4GqD3G",
Play("4eFGqDetFEDeDEetADEC3G4GqD3G",
"Pat\0ron\0ize? \0No, \0 \0thank \0you!\n\0 \0Too \0 \0man\0y \0strings \0a\0ttach\0ed.\n\0");
Play("!4eFG!!qDetF!E!D!eD!EetADEC3G4GqD3G",
Play("4eFGqDetFEDeDEetADEC3G4GqD3G",
"Pat\0ron\0ize? \0No, \0 \0thank \0you!\n\0 \0Too \0 \0man\0y \0strings \0a\0ttach\0ed.\n\0");
}
} catch
Binary file not shown.
+3 -3
View File
@@ -7,7 +7,7 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qABeCCqABAAR",
Play("3qABeCCqABAAR",
"What \0makes \0You \0 \0 \0think \0You're \0God?\n\0 \0");
Play("ABeCCqABAAR",
"What \0makes \0You \0 \0 \0think \0You're \0God?\n\0 \0");
@@ -15,9 +15,9 @@ U0 Song()
"Do \0You \0 \0think \0 \0 \0I'll \0app\0laud?\n\0 \0");
Play("ABeCCqABAAR",
"What \0makes \0You \0 \0 \0think \0You're \0God?\n\0 \0");
Play("GD!G!!eGA2G3FqF!!eDRqB",
Play("GDGeGA2G3FqFeDRqB",
"$$FG,RED$$Be\0-e-\0cause \0 \0 \0 \0I \0 \0a\0 \0m.\n\0");
Play("GD!G!!eGA2G3FqF!!eDRqB",
Play("GDGeGA2G3FqFeDRqB",
"Are \0 \0you \0 \0 \0 \0a \0 \0fan?\n$$FG$$\0 \0 \0");
"$$FG,GREEN$$(If God talks, how can you be sure it's not Him?\n"
"You can't, so harden not your heart.)\n$$FG$$";
@@ -8,12 +8,12 @@ U0 Song()
try {
while (!ScanKey) {
Play("M9/8");
Play("W13hDeFhDeFhDC");
Play("3hDeFhDeFhDC");
Play("FeDhFeDhFE");
Play("M4/4");
Play("qD!!2G3AeBF!FE2qG!!3D!!A",
Play("qD2G3AeBFFE2qG3DA",
"Hold \0 \0on!\n\0 \0It's \0gon\0na \0be \0fine.\n\0 \0");
Play("D!!2G3AeBF!FE2qG!!3D!!A",
Play("D2G3AeBFFE2qG3DA",
"Hold \0 \0on!\n\0 \0It's \0gon\0na \0be \0fine.\n\0 \0");
}
} catch
Binary file not shown.
@@ -8,14 +8,14 @@ U0 Song()
try {
while (!ScanKey) {
Play("M3/4");
Play("W13eECqAAeECqAA",
Play("3eECqAAeECqAA",
"I \0hate \0you.\n\0 \0I \0hate \0you.\n\0 \0");
Play("eDCqAAeECqAR",
" \0 \0 \0 \0I \0hate \0you.\n\0 \0");
Play("M6/8");
Play("etAB!GqCsGEGE!!etGBDqCsCD!CD",
Play("etABGqCsGEGEetGBDqCsCDCD",
"$$FG,RED$$Don't \0 \0 \0smile.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("etAB!GqCsGEGE!!etGBDqCsCD!CD",
Play("etABGqCsGEGEetGBDqCsCDCD",
"Don't \0 \0 \0smile.$$FG$$\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
Binary file not shown.
+4 -4
View File
@@ -7,13 +7,13 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qA!!sDGD!!GqAsCA!CAeCBsFDF!D!!etCGAsAD!A!!D",
Play("3qAsDGDGqAsCACAeCBsFDFDetCGAsADAD",
" \0I\0mag\0 \0ine.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qA!!sDGD!!GqAsCA!CAeCBsFDF!D!!etCGAsAD!A!!D",
Play("qAsDGDGqAsCACAeCBsFDFDetCGAsADAD",
" \0 \0Fa\0 \0thom.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("!!GF!G!!FE!!BE!BeCB2qG3sFAFAqCEA",
Play("GFGFEBEBeCB2qG3sFAFAqCEA",
"Hi-\0 \0i-\0gh \0as \0 \0your \0 \0thoughts \0will \0go.\n\0 \0 \0 \0 \0 \0 \0 \0");
Play("!!sGF!G!!FE!!BE!BeCB2qG3sFAFAqCEA",
Play("sGFGFEBEBeCB2qG3sFAFAqCEA",
"Deep \0 \0 \0as \0 \0 \0we \0 \0ought \0to \0know.\n\0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
Binary file not shown.
@@ -9,10 +9,10 @@ U0 Song()
while (!ScanKey) {
"$$FG,GREEN$$To God...$$FG$$\n";
Play("M5/4");
Play("W13eEqCeEFEDCqBeEqCeEFEDCqB",
Play("3eEqCeEFEDCqBeEqCeEFEDCqB",
"Fa\0ther, \0for\0give \0them \0if \0you \0must.\n\0I'd \0like \0to \0see \0them \0turn \0to \0dust.\n\0");
Play("M4/4");
Play("sGBGBetAF!2G3eEF!sEGEGqDsB!!D!BDGFGF2etG3GB");
Play("sGBGBetAF2G3eEFsEGEGqDsBDBDGFGF2etG3GB");
}
} catch
CatchAll;
@@ -22,7 +22,7 @@ U0 Song()
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
Play("W13qBeCDqCAetAACeECsF2G3F2GqG",
Play("3qBeCDqCAetAACeECsF2G3F2GqG",
"I'm \0on \0a \0mis\0sion \0from \0 \0 \0my \0 \0God.\n\0 \0 \0 \0 \0");
Play("3BeCDqCAetAACeECsF2G3F2GqG",
"I'm \0on \0a \0mis\0sion \0from \0 \0 \0my \0 \0God.\n\0 \0 \0 \0 \0");
@@ -14,6 +14,7 @@ U0 DrawIt(CTask *task,CDC *dc)
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->text_attr=LTCYAN<<4+BLACK;
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
+5 -4
View File
@@ -38,6 +38,7 @@ U0 DrawIt(CTask *,CDC *dc)
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->text_attr=LTCYAN<<4+BLACK;
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
@@ -46,13 +47,13 @@ U0 Song()
try {
"$$BG+H,LTCYAN$$";
while (!ScanKey) {
Play("W13qE!AA!etF2G3G!qDF!!etFE!D2eG!3G",
Play("3qEAAetF2G3GqDFetFED2eG3G",
"A\0dam... \0 \0no \0 \0 \0long\0er \0sees \0Your \0face.\n\0 \0 \0");
Play("qE!AA!etF2G3G!qDF!!etFE!D2eG!3G",
Play("qEAAetF2G3GqDFetFED2eG3G",
"Oh! \0 \0 \0What \0 \0a \0wretch\0ed \0bar\0ren \0waste!\n\0 \0 \0");
Play("qACFeB!CB2GqG3E!D",
Play("qACFeBCB2GqG3ED",
" \0 \0 \0 \0 \0 \0 \0 \0Ex\0iled.\n\0");
Play("ACFeB!CB2GqG3E!D");
Play("ACFeBCB2GqG3ED");
}
} catch
CatchAll;
+4 -4
View File
@@ -7,10 +7,10 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13e.C2sG3qEe.FsB!eCCsFGeBA!AetAR!!EeE!sCB");
Play("e.C2sG3qEe.FsB!eCCsFGeBA!AetAR!!EeE!sCB");
Play("eG!E2qG3sCD!CDe.EsG!!qCsD!CDC!!e.AsReG!E");
Play("G!E2qG3sCD!CDe.EsG!!qCsD!CDC!!e.AsReG!E");
Play("3e.C2sG3qEe.FsBeCCsFGeBAAetAREeEsCB");
Play("e.C2sG3qEe.FsBeCCsFGeBAAetAREeEsCB");
Play("eGE2qG3sCDCDe.EsGqCsDCDCe.AsReGE");
Play("GE2qG3sCDCDe.EsGqCsDCDCe.AsReGE");
}
} catch
CatchAll;
+3 -3
View File
@@ -7,14 +7,14 @@ U0 Song()
music_stacatto_factor= 0.857;
try {
while (!ScanKey) {
Play("W13eEDEFqDDeEDEDqCC",
Play("3eEDEFqDDeEDEDqCC",
"$$CL$$Sit\0ting \0in \0a \0church\n\0 \0wond\0ering \0to \0my\0self,\n\0 \0");
Play("eD2G3BCqDsGGGGeD2G3BCqDsGGGG",
"\"Is \0 \0God \0 \0real?\"\n\0 \0 \0 \0 \0\"At \0 \0the \0 \0wheel?\"\n\0 \0 \0 \0 \0");
"$$FG,GREEN$$God talking...\n$$FG$$";
Play("qF!FFetREA!qG!sG!FG!!F!GEGEqC",
Play("qFFFetREAqGsGFGFGEGEqC",
"$$FG,RED$$Oh, \0Hell \0yes!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("F!FFetREA!qG!sG!FG!!F!GEGEqC",
Play("FFFetREAqGsGFGFGEGEqC",
"Pass \0the \0test.$$FG$$\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3 -3
View File
@@ -7,10 +7,10 @@ U0 Song()
music_stacatto_factor= 0.758;
try {
while (!ScanKey) {
Play("W13sDDeBCsAAeB2G3A2F3sCCeDsFFeEsFFEEeDE");
Play("3sDDeBCsAAeB2G3A2F3sCCeDsFFeEsFFEEeDE");
Play("sDDeBCsAAeB2G3A2F3sCCeDsFFeEsFFEEeDE");
Play("sGBGB2etG3EGqF!!ED2G3eBA!DG");
Play("sGBGB2etG3EGqF!!ED2G3eBA!DG");
Play("sGBGB2etG3EGqFED2G3eBADG");
Play("sGBGB2etG3EGqFED2G3eBADG");
}
} catch
CatchAll;
+3 -3
View File
@@ -7,10 +7,10 @@ U0 Song()
music_stacatto_factor= 0.714;
try {
while (!ScanKey) {
Play("W13sBBBBEBDBeEBqDeBBEDEBqD");
Play("3sBBBBEBDBeEBqDeBBEDEBqD");
Play("sFEFEeFEDBqDeEFEBABqD");
Play("eDGqEeBAABqF!eBD!qE!A");
Play("eDGqEeBAABqF!eBD!qE!A");
Play("eDGqEeBAABqFeBDqEA");
Play("eDGqEeBAABqFeBDqEA");
}
} catch
CatchAll;
Binary file not shown.
+4 -4
View File
@@ -7,13 +7,13 @@ U0 Song()
music_stacatto_factor= 0.604;
try {
while (!ScanKey) {
Play("W13sEqAsDeCqAsEqAsDeCqAsDeEqEsE",
Play("3sEqAsDeCqAsEqAsDeCqAsDeEqEsE",
"Jes\0us \0kind \0of \0freaks,\n\0Jes\0us \0kind \0of \0freaks,\n\0are \0dif\0ferent \0 \0");
Play("eDqCsDeCqBsBeBqAetBED!qBeC!B",
Play("eDqCsDeCqBsBeBqAetBEDqBeCB",
"from \0 \0oth\0er\n\0 \0 \0peo\0ple.\n\0 \0 \0 \0 \0They \0don't \0");
Play("2qGeG!3FsCDC!!DqFetB!ACBED!qBeC!B",
Play("2qGeG3FsCDCDqFetBACBEDqBeCB",
"care,\n\0for \0God \0 \0is \0their \0 \0joy!\n\0 \0 \0 \0 \0 \0 \0 \0They \0don't \0");
Play("2qGeG!3FsCDC!!DqFetB!AC",
Play("2qGeG3FsCDCDqFetBAC",
"care,\n\0for \0God \0 \0is \0their \0 \0joy!\n\0 \0 \0 \0");
}
} catch
+5 -5
View File
@@ -120,7 +120,7 @@ U0 Song()
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Preempt(OFF);
Init;
Fs->animate_task=Spawn(&AnimateTask,NULL,"Animate",Fs);
Fs->animate_task=Spawn(&AnimateTask,NULL,"Animate",,Fs);
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
@@ -134,13 +134,13 @@ U0 Song()
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
Play("W13qEEBeBDsBBB!BqDsBFB!!FD2G3D!2G",
Play("3qEEBeBDsBBBBqDsBFBFD2G3D2G",
"Free \0will... \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0 \0 \0fail.\n\0 \0 \0 \0");
Play("3qEEBeBDsBBB!BqDsBFB!!FD2G3D!2G",
Play("3qEEBeBDsBBBBqDsBFBFD2G3D2G",
"God \0still... \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0 \0 \0hail.\n\0 \0 \0 \0");
Play("3qD2G3eA2G3qCetEC!AqBsA!!C!ACqA",
Play("3qD2G3eA2G3qCetECAqBsACACqA",
"All \0things \0work \0for \0good... \0to \0the \0Lord.\n\0 \0 \0 \0 \0 \0 \0");
Play("D2G3eA2G3qCetEC!AqBsA!!C!ACqA",
Play("D2G3eA2G3qCetECAqBsACACqA",
"It's \0all \0good... \0 \0 \0as\0 \0sured.\n\0 \0 \0 \0 \0 \0 \0");
}
} catch
Binary file not shown.
Binary file not shown.
@@ -7,10 +7,10 @@ U0 Song()
music_stacatto_factor= 0.758;
try {
while (!ScanKey) {
Play("W13qBeABqA2G3AB2hG");
Play("3qBeABqA2G3AB2hG");
Play("3sCCCCqBsAAAA2qG3sCCCCqE2GR");
Play("!!3sBDB!!DA2G!3A2G!!3etAA!EsGCGCetFFEqDFeE2G");
Play("!!3sBDB!!DA2G!3A2G!!3etAA!EsGCGCetFFEqDFeE2G");
Play("3sBDBDA2G3A2G3etAAEsGCGCetFFEqDFeE2G");
Play("3sBDBDA2G3A2G3etAAEsGCGCetFFEqDFeE2G");
}
} catch
CatchAll;
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3 -3
View File
@@ -7,10 +7,10 @@ U0 Song()
music_stacatto_factor= 0.538;
try {
while (!ScanKey) {
Play("W13qEDCDeEEqEeDDqD");
Play("3qEDCDeEEqEeDDqD");
Play("EDCDeEEqEeDDqD");
Play("eD!!AsFDF!DqFsFBFB2qG3etBB!BqFC");
Play("eD!!AsFDF!DqFsFBFB2qG3etBB!BqFC");
Play("eDAsFDFDqFsFBFB2qG3etBBBqFC");
Play("eDAsFDFDqFsFBFB2qG3etBBBqFC");
}
} catch
CatchAll;
Binary file not shown.
+4 -4
View File
@@ -7,10 +7,10 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13eFDGsBReCB2sGRGR!3qEetG!AGeG!sF!!GeRsDG");
Play("eFDGsBReCB2sGRGR!3qEetG!AGeG!sF!!GeRsDG");
Play("FAFAqG!eEEqBetE!!2GR!3eFsARe.BsCe.RsE");
Play("FAFAqG!eEEqBetE!!2GR!3eFsARe.BsCe.RsE");
Play("3eFDGsBReCB2sGRGR3qEetGAGeGsFGeRsDG");
Play("eFDGsBReCB2sGRGR3qEetGAGeGsFGeRsDG");
Play("FAFAqGeEEqBetE2GR3eFsARe.BsCe.RsE");
Play("FAFAqGeEEqBetE2GR3eFsARe.BsCe.RsE");
}
} catch
CatchAll;
Binary file not shown.
+4 -4
View File
@@ -7,10 +7,10 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13sC!G!CG!!etA!DD2sG!3G2G3G!F!A!!FADD!!DD!qGsB2G3B2G3qG");
Play("sC!G!CG!!etA!DD2sG!3G2G3G!F!A!!FADD!!DD!qGsB2G3B2G3qG");
Play("eG!2G3qEeAsA2G3qAsEAEAD!E!!DEqFeA!2G");
Play("3G!2G3qEeAsA2G3qAsEAEAD!E!!DEqFeA!2G");
Play("3sCGCGetADD2sG3G2G3GFAFADDDDqGsB2G3B2G3qG");
Play("sCGCGetADD2sG3G2G3GFAFADDDDqGsB2G3B2G3qG");
Play("eG2G3qEeAsA2G3qAsEAEADEDEqFeA2G");
Play("3G2G3qEeAsA2G3qAsEAEADEDEqFeA2G");
}
} catch
CatchAll;
@@ -7,10 +7,10 @@ U0 Song()
music_stacatto_factor= 0.780;
try {
while (!ScanKey) {
Play("W13eCDBCA2FFF3C2F3E2F3A2F3sEEeD");
Play("3eCDBCA2FFF3C2F3E2F3A2F3sEEeD");
Play("F2FFF3qCeF2F3F2FFF3qCeF2F");
Play("!3qG!sEAEAqB!etDC!F2qG3D!sGDGDetCRC");
Play("!qG!sEAEAqB!etDC!F2qG3D!sGDGDetCRC");
Play("3qGsEAEAqBetDCF2qG3DsGDGDetCRC");
Play("qGsEAEAqBetDCF2qG3DsGDGDetCRC");
}
} catch
CatchAll;
Binary file not shown.
+3 -3
View File
@@ -8,13 +8,13 @@ U0 Song()
try {
while (!ScanKey) {
Play("M5/4");
Play("W12qGGG3qtCBA2qGGG3qtCetBBqtA",
Play("2qGGG3qtCBA2qGGG3qtCetBBqtA",
"Hymn's \0not \0long.\n\0 \0 \0 \0Nor \0this \0song.\n\0 \0 \0 \0 \0");
Play("qEeCCqDqtCBAM4/4",
"For\0 \0 \0give!\n\0 \0 \0 \0");
Play("qD!eA!2G3DG2G3DF!FAC!!2qG3eAE",
Play("qDeA2G3DG2G3DFFAC2qG3eAE",
"That's \0 \0 \0all \0 \0I \0 \0say.\n\0 \0 \0 \0 \0 \0 \0");
Play("qD!eA!2G3DG2G3DF!FAC!!2qG3eAE",
Play("qDeA2G3DG2G3DFFAC2qG3eAE",
"This \0 \0 \0I \0 \0 \0 \0pray.\n\0 \0 \0 \0 \0 \0 \0");
}
} catch
+3 -3
View File
@@ -7,13 +7,13 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13eC2G3DDEDqCeEEGFGFqE",
Play("3eC2G3DDEDqCeEEGFGFqE",
"Sit\0ting \0 \0 \0on \0the \0fence,\n\0is \0 \0 \0 \0no \0de\0fence.\n\0");
Play("sFFeGFEFEqDsCCeDCBqBB",
"Is \0this \0seat \0 \0 \0tak\0 \0en?\n\0An\0 \0y\0one \0op\0 \0pose?\n\0");
Play("etB2GG!3qE!2eG3F!EEetFBA!qFDetF!CC",
Play("etB2GG3qE2eG3FEEetFBAqFDetFCC",
"Take \0 \0a \0step.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("B2GG!3qE!2eG3F!EEetFBA!qFDetF!CC",
Play("B2GG3qE2eG3FEEetFBAqFDetFCC",
"Take \0 \0the \0step,\n\0 \0 \0 \0 \0 \0 \0 \0not \0back.\n\0 \0 \0 \0");
}
} catch
@@ -14,11 +14,11 @@ U0 Song()
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
Play("W13sDDDACCADDACCAe.DsCCC2G3FD2G3FD2G3CCAe.D",
Play("3sDDDACCADDACCAe.DsCCC2G3FD2G3FD2G3CCAe.D",
"I \0 \0 \0 \0got \0 \0 \0paid, \0 \0 \0to\0 \0 \0day.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qD2sG3G2G3G!etGDAeF2GqG3etF!BA!!EACE!CE",
Play("qD2sG3G2G3GetGDAeF2GqG3etFBAEACECE",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0 \0can't \0 \0 \0get \0 \0to \0");
Play("qD2sG3G2G3G!etGDAeF2GqG3etF!BA!!EACE!CE",
Play("qD2sG3G2G3GetGDAeF2GqG3etFBAEACECE",
"sleep.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
+3 -3
View File
@@ -8,10 +8,10 @@ U0 Song()
try {
while (!ScanKey) {
Play("M9/8");
Play("W13qAeCBAq.CsAAqAeCBA2q.G3sBC");
Play("3qAeCBAq.CsAAqAeCBA2q.G3sBC");
Play("qAeDCAhBeFsEEeDq.CM4/4");
Play("sAFAFeF!!2GsG3B2G!!3BqGeA!sAAetEGDE2G!3DeGsGG");
Play("AFAFeF!!2GsG3B2G!!3BqGeA!sAAetEGDE2G!3DeGsGG");
Play("sAFAFeF2GsG3B2G3BqGeAsAAetEGDE2G3DeGsGG");
Play("AFAFeF2GsG3B2G3BqGeAsAAetEGDE2G3DeGsGG");
}
} catch
CatchAll;
+3 -2
View File
@@ -63,6 +63,7 @@ U0 Song()
{
I64 i;
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->text_attr=LTCYAN<<4+BLACK;
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
@@ -73,10 +74,10 @@ U0 Song()
by[i]=RANGE*RandI16/RANGE;
}
try {
"$$BG+H,LTCYAN$$$$FD+H,BLACK$$";
"$$BG+H,LTCYAN$$";
while (!ScanKey) {
t0=tMBeat;
Play("W13eDEqFFetEEFqDeCDDEetCGF");
Play("3eDEqFFetEEFqDeCDDEetCGF");
Play("eDEqFFetEEFqDeCDDEetCGF");
Play("eDCqDEeAAetEEFEDGBDCqF");
Play("eDCqDEeAAetEEFEDGBDCqF");
Binary file not shown.
+2 -2
View File
@@ -18,11 +18,11 @@ U0 Song()
while (!ScanKey) {
"$$FG,GREEN$$Jesus talking...\n$$FG$$";
Play("M6/8");
Play("W13eAACADAADACAR",
Play("3eAACADAADACAR",
" \0 \0I \0 \0came \0 \0 \0to \0 \0serve.\n\0 \0 \0");
Play("AACADAADACAR",
" \0 \0I \0 \0give \0 \0 \0my \0 \0word.\n\0 \0 \0");
Play("FG!etFEGA!!B!C!DA!C2qG!3sECEC");
Play("FGetFEGABCDAC2qG3sECEC");
}
} catch
CatchAll;
@@ -14,13 +14,13 @@ U0 Song()
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
Play("W13hDeDA2qG3hDeD2GqF",
Play("3hDeDA2qG3hDeD2GqF",
"It \0sig\0ni\0fies\n\0a \0big \0sur\0prise.\n\0");
Play("3hDeD2sFG3qAhDeDA2qG",
"Why \0 \0im\0pro\0vise?\n\0$$FG,RED$$\"Be\0cause,\"$$FG$$ \0re\0plies.\n\0");
Play("3eC!!EsACACeD2G3qA!AFeE2G!3etFCC",
Play("3eCEsACACeD2G3qAAFeE2G3etFCC",
"If \0 \0you \0 \0 \0 \0love \0your \0god,\n\0 \0don't \0bore \0 \0Him!\n\0 \0 \0");
Play("eC!!EsACACeD2G3qA!AFeE2G!3etFCC",
Play("eCEsACACeD2G3qAAFeE2G3etFCC",
"If \0 \0you \0 \0 \0 \0love \0your \0god,\n\0 \0sur\0prise \0 \0Him!\n\0 \0 \0");
}
} catch
+4 -4
View File
@@ -8,13 +8,13 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qF!2GsGG!!GG3GFG!FqAeD!2G!3etDBEsFCFC",
Play("3qF2GsGGGG3GFGFqAeD2G3etDBEsFCFC",
"Love \0 \0 \0 \0 \0 \0ev\0 \0ery \0 \0sec\0ond.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qF!2GsGG!!GG3GFG!FqAeD!2G!3etDBEsFCFC",
Play("qF2GsGGGG3GFGFqAeD2G3etDBEsFCFC",
"World -- \0 \0 \0 \0 \0 \0all \0 \0that \0 \0beck\0ons.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qBG!!FsEAEAqEFGeF!C",
Play("qBGFsEAEAqEFGeFC",
" \0Life \0is \0too \0 \0 \0 \0prec\0i\0ous.\n\0 \0 \0");
Play("qBG!!FsEAEAqEFGeF!C",
Play("qBGFsEAEAqEFGeFC",
" \0Can \0be \0 \0 \0 \0 \0worr\0i\0ous.\n\0 \0 \0");
}
} catch
@@ -15,13 +15,13 @@ U0 Song()
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
Play("W12eG3CD!AqE!!sACACG!EGEqDsAAA!AetCDD",
Play("2eG3CDAqEsACACGEGEqDsAAAAetCDD",
"Ple\0ase \0te\0ach \0me.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("2eG3CD!AqE!!sACACG!EGEqDsAAA!AetCDD",
Play("2eG3CDAqEsACACGEGEqDsAAAAetCDD",
"Wa\0ter \0thi\0s \0tree.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("2qG!G3eEBqAGeFE!!sF!GFG!etD!BD",
Play("2qGG3eEBqAGeFEsFGFGetDBD",
" \0 \0$$FG,RED$$I \0will \0teach \0thee.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("2qG!G3eEBqAGeFE!!sF!GFG!etD!BD",
Play("2qGG3eEBqAGeFEsFGFGetDBD",
" \0 \0Wat\0er \0that \0tree.$$FG$$\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
@@ -30,6 +30,7 @@ U0 Song()
I64 i;
CTask *task;
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->text_attr=LTCYAN<<4+BLACK;
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
@@ -52,17 +53,17 @@ U0 Song()
TaskWait(task);
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
"$$BD+H,LTCYAN$$$$FD+H,BLACK$$";
"$$BG+H,LTCYAN$$$$FG+H,BLACK$$";
while (!ScanKey) {
Play("W12qG3eCB2hGqG3eCB2qG3A",
Play("2qG3eCB2hGqG3eCB2qG3A",
"Umm... \0God?\n\0 \0 \0Let \0Your \0 \0 \0 \0");
Play("CeBA2G3DqEeDCBA2qG3A",
"face \0shine \0on \0down\n\0on \0us, \0Your \0 \0luck\0y \0 \0peo\0");
Play("eBA2h.G3qE!!CAF",
Play("eBA2h.G3qECAF",
" \0ple.\n\0 \0Fath\0e\0r \0a\0");
Play("FD!A!eEDqE!!CAF",
Play("FDAeEDqECAF",
"bove,\n\0 \0 \0I \0 \0feel \0 \0 \0Your \0");
Play("FD!A!eED",
Play("FDAeED",
"love.\n\0 \0 \0 \0 \0");
}
} catch
+3 -3
View File
@@ -7,13 +7,13 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13sC#C#D#D#C#C#CCC#C#D#D#C#C#CCEEDDC#C#DDEEDDC#C#DD",
Play("3sC#C#D#D#C#C#CCC#C#D#D#C#C#CCEEDDC#C#DDEEDDC#C#DD",
"Still \0 \0 \0 \0there.\n\0 \0 \0 \0Still \0 \0 \0 \0there.\n\0 \0 \0 \0Not \0 \0 \0 \0fair.\n\0 \0 \0 \0Not \0 \0 \0 \0fair.\n\0 \0 \0 \0");
Play("C#C#D#D#C#C#CCC#C#D#D#C#C#CCEEDDC#C#DDEEDDC#C#DD",
"Un\0 \0 \0 \0aware!\n\0 \0 \0 \0Un\0 \0 \0 \0aware!\n\0 \0 \0 \0Every\0 \0 \0 \0where!\n\0 \0 \0 \0Every\0 \0 \0 \0where!\n\0 \0 \0 \0");
Play("eB!!DetFGAeF!EBE!etE!FEqCeFEDA",
Play("eBDetFGAeFEBEetEFEqCeFEDA",
"$$FG,RED$$Running \0 \0 \0a\0way \0 \0 \0 \0 \0 \0from \0the \0Lord \0won't \0 \0work.\n\0 \0");
Play("B!!DetFGAeF!EBE!etE!FEqCeFEDA",
Play("BDetFGAeFEBEetEFEqCeFEDA",
"Running \0 \0 \0a\0way \0 \0 \0 \0 \0 \0from \0the \0Lord \0won't \0 \0work.$$FG$$\n\0 \0");
}
} catch
+1 -1
View File
@@ -8,7 +8,7 @@ U0 Song()
try {
while (!ScanKey) {
"$$FG,GREEN$$As I look back on my sinful past...$$FG$$\n";
Play("W13qCAABAeAECEqB",
Play("3qCAABAeAECEqB",
"Who \0was \0that \0per\0son? \0 \0It \0wasn't \0 \0me?\n\0");
Play("CAABAeAECEqB",
"Who \0was \0that \0per\0son? \0 \0It \0wasn't \0 \0me?\n\0");
+3 -3
View File
@@ -16,7 +16,7 @@ U0 PutVerse()
U8 *ch;
I64 *start;
"$$CL$$";
DocClear;
start=GetTimeStamp/16%size;
if (start>size-LEN) start=size-LEN;
ch=bible[start+LEN-1];
@@ -38,12 +38,12 @@ U0 Song()
"$$WW,1$$This shows a random passage based on "
"the time at the moment this song was run. "
"Talk to God as an offering, then run $MA+A-X+PU,"AfterEgypt","Cd(\"::/TempleOS/Apps/AfterEgypt\");;#include \"Run\"\\n"$ if you "
"want God to talk some more. The $LK,"Holy Spirit","FI:::/TempleOS/Apps/HolySpirit/HSNotes.TXT"$ can "
"want God to talk some more. The $LK+PU,"Holy Spirit","FI:::/TempleOS/Apps/HolySpirit/HSNotes.TXT"$ can "
"puppet you.\n");
TaskWait(task);
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
DocRecalc(DocCur(task)); //Reformat word-wrap with new window size.
DocRecalc(DocPut(task)); //Reformat word-wrap with new window size.
while (!ScanKey) {
PutVerse;
Play("3qAeABCBqCetABBqCetAAREE2G");
+3 -3
View File
@@ -7,12 +7,12 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W14etEEEqBetDDqtDqBetCCqtCqBhB");
Play("4etEEEqBetDDqtDqBetCCqtCqBhB");
Play("etEEEqBetDDqtDqBetCCqtCqBhB");
Play("etABCqDetBCCqDetDCBqAhA");
Play("etABCqDetBCCqDetDCBqAhA");
Play("!qAetC!!AEsG!!CGCetBC3G4ADAqAGetDAD");
Play("!qAetC!!AEsG!!CGCetBC3G4ADAqAGetDAD");
Play("qAetCAEsGCGCetBC3G4ADAqAGetDAD");
Play("qAetCAEsGCGCetBC3G4ADAqAGetDAD");
}
} catch
CatchAll;
+4 -4
View File
@@ -7,12 +7,12 @@ U0 Song()
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qEDeCC!etEAAqEetCDCA!!GFqG",
Play("3qEDeCCetEAAqEetCDCAGFqG",
"I \0don't \0know \0 \0 \0 \0 \0 \0 \0 \0what \0 \0to \0 \0pray.\n\0");
Play("EDeCC!etEAAqEetCDCA!!GFqG");
Play("eGEetFDAqF!sGF!GF!G!!FG!F!etBGFqGeDE",
Play("EDeCCetEAAqEetCDCAGFqG");
Play("eGEetFDAqFsGFGFGFGFetBGFqGeDE",
"It's \0a \0blah \0 \0 \0day.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("GEetFDAqF!sGF!GF!G!!FG!F!etBGFqGeDE");
Play("GEetFDAqFsGFGFGFGFetBGFqGeDE");
}
} catch
CatchAll;
@@ -7,10 +7,10 @@ U0 Song()
music_stacatto_factor= 0.846;
try {
while (!ScanKey) {
Play("W13sEAE!AqE!!eFsG!A!qFsF!G!!eE2qG!3sFEFEqA");
Play("sEAE!AqE!!eFsG!A!qFsF!G!!eE2qG!3sFEFEqA");
Play("EeGDqBeCE!2qG3etDG!!C!!eEAFA");
Play("qEeGDqBeCE!2qG3etDG!!C!!eEAFA");
Play("3sEAEAqEeFsGAqFsFGeE2qG3sFEFEqA");
Play("sEAEAqEeFsGAqFsFGeE2qG3sFEFEqA");
Play("EeGDqBeCE2qG3etDGCeEAFA");
Play("qEeGDqBeCE2qG3etDGCeEAFA");
}
} catch
CatchAll;
+3 -3
View File
@@ -8,14 +8,14 @@ U0 Song()
try {
while (!ScanKey) {
DocClear;
Play("W13qDsCCCCeBBCCqDsCCCCeBBCC",
Play("3qDsCCCCeBBCCqDsCCCCeBBCC",
"I'm \0 \0 \0 \0 \0on \0my \0way.\n\0 \0Got \0a \0 \0 \0 \0bus\0y \0day.\n\0 \0");
Play("sBBBBeAAsBA2G3AqAsBBBBeAAsBA2G3AqA",
"Woe, \0 \0 \0 \0I \0for\0got \0 \0to \0 \0pray.\n\0What's \0 \0 \0 \0God \0 \0have \0 \0to \0 \0say?\n\0");
"$$FG,GREEN$$God talking...\n$$FG$$";
Play("AeB2G3GGqE2etG3F!B!eFGqFeEC",
Play("AeB2G3GGqE2etG3FBeFGqFeEC",
"$$FG,RED$$Oh, \0 \0 \0hi-\0a \0you!\n\0What\0ch\0u \0been \0 \0do\0ing?\n\0 \0");
Play("qAeB2G3GGqE2etG3F!B!eFGqFeEC",
Play("qAeB2G3GGqE2etG3FBeFGqFeEC",
"Oh, \0 \0 \0hi-\0a \0you!\n\0What\0ch\0u \0been \0 \0do\0ing?$$FG$$\n\0 \0");
}
} catch
+28 -28
View File
@@ -1,23 +1,32 @@
* Cursor is not solid $LK,"Dbg","MN:Dbg"$ when entered in Adam2.
* fix result on Blot ect
* ata base- base1 temp blkdev
* Tour TestSuite on 256Meg NoMP runs out of mem. Leak,too?
* CTRL-R transform individual elements
* Size zero files don't copy out from VMware.
* FileMgr header
* ATA/ATAPI ID in VMware, when not booted to CD? I forgot.
* I use fixed-point in $LK,"Circle","MN:Circle"$(), $LK,"Ellipse","MN:Ellipse"$(), $LK,"GrRot","MN:GrRot"$(), $LK,"GrMulMat","MN:GrMulMat"$() and others.
God says I might want to change to float.
$LK-A,"::/TempleOS/Demo/Lectures/FixedPoint.CPP"$.
$LK-A,"::/TempleOS/Demo/Lectures/FixedPointAdvanced.CPP"$.
* DOCF_DBL_DOLLARS in reindention
* # in reindention
* reindent $LK,"DocRecalc","MN:DocRecalc"$().skip_soft_cr
* HexEdit with odd size, ASCII cannot be edited.
* clean-up addDev pmt
* indent
* TestSuite Strut
* Might want to convert some Preempt() to Cli
* Bug: Back-up-script cause jumps back and forth in ToHtml.
* Bug? Hung after pressing CmpMain in personal menu. Haven't seen in a while.
* Crashes after back-up-script. Went away maybe after spurious IRQ fix.
* Music organ hangs when cursoring around. Haven't seen in while.
* $LK,"DocUpdateTaskDocs","MN:DocUpdateTaskDocs"$() used to skips locked docs. $LK,"WinMgrSync","MN:WinMgrSync"$() needs to check?
* Why was wordstat so slow on "OldMasterBootWrite" for example.
* $LK,"Plain","MN:Plain"$() might be better not saving $LK,"CH_CURSOR","MN:CH_CURSOR"$.
@@ -26,16 +35,12 @@
* It would be nice if $LK,"U","MN:U"$() NOP were better.
* Autoindent is very bad.
* Make native file system expanded size set in Copy.
* Make RedSea file system expanded size set in Copy.
* unhandled exception on MP message gets overwritten by WinMgr
* Cmd to enable/disable compiler warnings
* make aware of ctrl-r side bar
* fix documentation problem -- remembering 0 terminator in str or not for $$DA
* GetS, crazy putkey code
* editor page formatting is FUBAR
@@ -44,17 +49,14 @@
>Might want to do ZOOM in U8 graphics and convert screen capture to U8
>Might want to reverse bit order
* wenceslas crashes in testsuite, sometimes. went away?
* wenceslas crashes in testsuite, sometimes.
* CGrVectMap sucks -- Pilgrim
* return vals for grrect, grblot, grputchar?
* collisions for grrect, grblot, grputchar?
* 32-bit devices should be in free spot address space of E820.
* RAM drive too small for TempleOSCD.ISO
$WW,1$
* Race condition in Navy.CPP.Z torpedo
* Race condition in FlatTops.CPP.Z torpedo
* {Lock|Rep}{Seg|2E=NotBr|3E=Br}{OP}{ADD}{REX}
* Virtual Box MP reboot
@@ -70,7 +72,6 @@ GrEdit: Move sidebar selected elems.
GrEdit: Strip origin shift cmds.
GrEditBitMap, grabscroll?
GrEditBitMap, cut/paste boxes.
extern of fun with dft arg of str?
@@ -78,7 +79,7 @@ extern of fun with dft arg of str?
* FileMgr bad with lots of files.
* This $LK,"Fs->catch_except=TRUE","FF:::/TempleOS/Kernel/TaskCmd.CPP,Fs->catch_except=TRUE"$ causes problems because it catches divide and out-of-mem. Not sure what to do, yet.
* This $LK,"Fs->catch_except=TRUE","FF:::/TempleOS/Kernel/SrvCmd.CPP,Fs->catch_except=TRUE"$ causes problems because it catches divide and out-of-mem. Not sure what to do, yet.
* $LK,"MPStart","MN:MPStart"$() free old task memory. (Prolly never gonna do anything about this.)
* $LK,"sys_var_init_flag","MN:sys_var_init_flag"$ local vars.
* sprite shift pts, ctrl pt for ellipse/polygon w,h is off when rotated.
@@ -94,7 +95,6 @@ $HC,"<object width=\"750\" height=\"520\"><param name=\"movie\" value=\"http://w
* $LK,"Bible sized nodes","FF:::/TempleOS/Adam/Doc/DocRecalc.CPP,->tag+i"$
* Mouseinstall throws exceptions, doesn't work, investigate Mouse $LK,"0x9FC30","FF:::/TempleOS/Kernel/KbdMouse/Mouse.CPP,9FC"$
* get kbd lights working.
* figure-out hyperthread vs nonhyperthread CPU's
* Might have issue with compiler exceptions and restoring lex.hash tables.
* Generates two compiler error messages for expressions in statements.
* release semaphores or break lock sema,usb_td
@@ -106,8 +106,6 @@ $HC,"<object width=\"750\" height=\"520\"><param name=\"movie\" value=\"http://w
U0 (*fp_old_draw_input_ptr)(CDC *dc,I64 x,I64 y)=fp_draw_input_ptr;
}$FG$
* Syncronize VGA memory update with the hardware refresh cycle.
* Demo $LK,"ToHtml","MN:ToHtml"$().
* Del short name in FAT32--currently I do not check to see if I have generated a unique short name and one can delete multiple files accidentally. Generating unique short names is a pain in the ass because you have to scan the whole directory. I think I just truncate the name instead of "Program~1" or whatever. S081130-0001.BMP crashed windows--two identical short names.
@@ -136,6 +134,8 @@ $HC,"<object width=\"750\" height=\"520\"><param name=\"movie\" value=\"http://w
* log to file--would be inefficient--load-in whole file, modify and write out. Useful, but not very efficient (TempleOS file system has no grow-file ability. Created when FAT patent was an issue and wanted absly nothing people could sue me for.)
* APIC2
* import intel datasheets, somehow?
* Get better dictionary, good spell checker.
* WordStat/Man Jmp for user code.
* Might make DskView show drive colors.
* Might do utility to set drive colors, making a tree entry in Adam 3 using registry-like routines... or registry I guess.
@@ -144,7 +144,7 @@ $HC,"<object width=\"750\" height=\"520\"><param name=\"movie\" value=\"http://w
* Make use of flag potential in SysFilesFind and possibly CFileAccess
* implement fixed pos files
* new C+ language features
* new Holy C language features
* better debugging
* Change hardcoded stuff to Define
+26 -2
View File
@@ -3,11 +3,35 @@ $ID,2$$TR,"TempleOS"$
$ID,2$$TR,"SysMsgFlags"$
$ID,2$sys_msg_flags[0]=0x205;
$ID,-2$$TR,"SysRegVer"$
$ID,2$registry_version=1.000;
$ID,2$registry_version=1.040;
$ID,-2$$ID,-2$$ID,-2$$TR,"DemoCompany"$
$ID,2$$TR,"Game1"$
$ID,2$F64 best_score=1.23;
$TR,"SimpleVal"$
$ID,2$1234;
$ID,-2$$ID,-2$$ID,-2$$TR,"TempleOS"$
$ID,2$$ID,-2$
$ID,2$$TR,"CircleTrace"$
$ID,2$F64 best_score=999.0000;
$ID,-2$$TR,"FPS"$
$ID,2$F64 best_score=55.2079;
$ID,-2$$TR,"EagleDive"$
$ID,2$I64 best_score=6;
$ID,-2$$TR,"CastleFrankenstein"$
$ID,2$F64 best_score=56.7504;
$ID,-2$$TR,"ZoneOut"$
$ID,2$F64 best_score=79.0963;
$ID,-2$$TR,"BugBird"$
$ID,2$F64 best_score=16.1659;
$ID,-2$$TR,"TimeOut"$
$ID,2$I64 best_score=14797;
$ID,-2$$TR,"RawHide"$
$ID,2$F64 best_score=60.9434;
$ID,-2$$TR,"KeepAway"$
$ID,2$I64 best_score0=0,best_score1=9999;
$ID,-2$$TR,"XCaliber"$
$ID,2$I64 best_score=118;
$ID,-2$$TR,"Wenceslas"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"BulgeBomber"$
$ID,2$I64 best_score=53;
$ID,-2$$ID,-2$
+53
View File
@@ -1,2 +1,55 @@
public I64 Circle(U8 *aux_data,
I64 cx,I64 cy,I64 cz,
I64 radius,
Bool (*fp_plot)(U8 *aux,I64 x,I64 y,I64 z),
I64 step=1,
F64 start_radians=0,
F64 len_radians=2*ã)
{
I64 i,j,len=Ceil(len_radians*radius),
x,y,x1,y1,s1,s2,c,result=0;
F64 t;
if (radius<=0||!step) return 0;
t=1.0/radius;
c=1<<SCALE1*Cos(t);
if (step<0) {
step=-step;
s2=1<<SCALE1*Sin(t);
s1=-s2;
} else {
s1=1<<SCALE1*Sin(t);
s2=-s1;
}
if (start_radians) {
x=radius*Cos(start_radians);
y=-radius*Sin(start_radians);
} else {
x=radius;
y=0;
}
x<<=SCALE2;
y<<=SCALE2;
for (i=0;i<=len;i+=step) {
if ((*fp_plot)(aux_data,cx+x>>SCALE2,cy+y>>SCALE2,cz))
result++;
for (j=0;j<step;j++) {
x1=(c*x+s1*y)>>SCALE1;
y1=(s2*x+c*y)>>SCALE1;
x=x1; y=y1;
}
}
return result;
}
U0 Main()
{
I64 i;
CDC *dc=DCAlias;
for (i=0;i<100;i++)
Circle(dc,100,100,0,i*5,&GrLinePlot,1,0,2*ã);
PressAKey;
DCFill;
DCDel(dc);
}
Main;