SparrowOSTS_121127.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:45:28 +02:00
1 parent 0e9364ff4c
commit e57428affb
1218 files changed
+247142 -165507

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
//Change anything you want in this
//acct file or others.
//This makes your keyboard fast
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;
mzz_scale=1.0; //wheel
//don't change these
mxx_prescale=mxx/mxx_scale;
myy_prescale=myy/myy_scale;
mzz_prescale=mzz/mzz_scale;
@@ -0,0 +1,488 @@
//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_list;
U32 max_char_set_list;
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_list;
U32 max_char_set_list;
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,8);
}
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 ltdt)
{
CDateStruct ds;
CDate2CDateStruct(&ds,ltdt);
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 (ListEntryMatch(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,9);
}
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,10);
}
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.
+217
View File
@@ -0,0 +1,217 @@
/*
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 *USBAllocFrameList(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
@@ -0,0 +1,114 @@
#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_list;
};
//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 *USBAllocFrameList(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_list);
u->frame_list=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_list);
return u->frame_list;
}
return NULL;
}
@@ -0,0 +1,75 @@
//9 has graphics
#define X 330
#define Y 15
#define NUM_BEAMS 256
F64 beams_r[NUM_BEAMS],beams_é[NUM_BEAMS];
U0 DrawIt(CTask *,CDC *dc)
{
I64 i;
F64 r,x1,y1,x2,y2;
dc->color=YELLOW;
GrCircle(dc,X,Y,10);
GrFloodFill(dc,X,Y,10);
dc->color=BROWN;
GrCircle(dc,X,Y,10);
dc->color=YELLOW;
for (i=0;i<NUM_BEAMS;i++) {
r=125.0*((0.25*tMBeat+beams_r[i])%1.0);
P2R(&x1,&y1,r ,beams_é[i]);
P2R(&x2,&y2,r+10.0,beams_é[i]);
GrLine(dc,x1+X,y1+Y,x2+X,y2+Y);
}
}
U0 Song()
{
CTask *task;
I64 i;
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
for (i=0;i<NUM_BEAMS;i++) {
beams_r[i]=Rand;
beams_é[i]=2*ã*Rand;
}
try {
task=PopUpViewStr(
"$LK,"Numbers,6:25","BF:Numbers,6:25"$\n"
"$LK,"Psalms,31:16","BF:Psalms,31:16"$\n"
"$LK,"Psalms,67:1","BF:Psalms,67:1"$\n"
"$LK,"Psalms,80:3","BF:Psalms,80:3"$\n"
"$LK,"Psalms,80:19","BF:Psalms,80:19"$\n"
"$LK,"Psalms,119:135","BF:Psalms,119:135"$\n"
"$LK,"Daniel,9:17","BF:Daniel,9:17"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
"$$BD+H,LTCYAN$$$$FD+H,BLACK$$";
while (!ScanKey) {
"$$FG,WHITE$$To God...\n$$FG$$";
Play("W13etCFE!!sDDDDD2G!3D2G!!3qC2eG3EqEetAA!F2qG",
"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",
"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",
"What \0a \0joy!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("!qDBsFGF!G2eG!!3FRDqEGeB!E",
"I'm \0so \0coy!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
SettingsPop;
}
Song;
@@ -0,0 +1,44 @@
//7 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.736;
try {
task=PopUpViewStr(
"There are myths about the River\n"
"Styx separating the land of the\n"
"living from dead. Jesus' told a story\n"
"about the land of living separate from\n"
"land of dead. ($LK,"Luke,16:22","BF:Luke,16:22"$) In the Old\n"
"Testament, the River Jordan was a special\n"
"barrier. ($LK,"Deuteronomy,4:22","BF:Deuteronomy,4:22"$)\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
while (!ScanKey) {
Play("W13sBBBBqCq.BeAqBh.A",
"Can't \0 \0 \0 \0get \0there, \0from \0he\0re.\n\0");
Play("M2/4");
Play("eECqAM4/4");
Play("sBBBBqCq.BeAqBh.A",
"Can't \0 \0 \0 \0get \0there, \0from \0he\0re.\n\0");
Play("M2/4");
Play("eDDqDM4/4");
Play("DeEDqG!CeF2G3qG!!sFGFG!!eD!C",
"Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0ver\0 \0y \0 \0wrong!\n\0 \0");
Play("qDeEDqG!CeF2G3qG!!sFGFG!!eD!C",
"Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0ver\0 \0y \0 \0wrong!\n\0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,22 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
while (!ScanKey) {
Play("2qG3etC2GG3qARR2etG3FBqEeFE",
"All \0righ\0 \0 \0ty.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("2qG3etC2GG3qARR2etG3FBqEeFE",
"All \0migh\0 \0 \0ty.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qFFEEeEBqFCB",
"Al\0read\0y, \0 \0I've \0 \0seen \0en\0ough.\n\0");
Play("FFEEeEBqFCB",
"Oh \0bo\0y, \0 \0was \0 \0that \0rough.\n\0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,22 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
while (!ScanKey) {
Play("3etDGDqGeCGetAE2G3eEFsGBGBqEG",
"Thanks, \0 \0 \0God! \0 \0 \0You \0 \0are \0might\0y \0 \0good \0 \0to \0me.\n\0 \0");
Play("etDGDqGeCGetAE2G3eEFsGBGBqEG",
"Thanks, \0 \0 \0God! \0 \0 \0You \0 \0are \0might\0y \0 \0good \0 \0to \0me.\n\0 \0");
Play("EsBGBGeEC2G3AqF2G3sC2G3C2GqG",
" \0 \0 \0 \0 \0 \0 \0I \0won't \0tell.\n\0 \0 \0 \0 \0 \0 \0");
Play("3EsBGBGeEC2G3AqF2G3sC2G3C2GqG",
" \0 \0 \0 \0 \0 \0 \0I \0won't \0tell.\n\0 \0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,77 @@
//8 has graphics
#define R1 13
#define R2 21
U0 DrawIt(CTask *,CDC *dc)
{
static F64 é=0;
I64 x1=200,y1=20,x2=x1,y2=y1+R2;
F64 tt=tMBeat%16.0,č;
é+=1/(tt*tt+1);
dc->color=BLACK;
dc->pen_width=4;
GrCircle3(dc,x2,y2,0,R2+10);
for (č=é;č<é+2*ă;č+=ă/3) {
dc->color=BLACK;
dc->pen_width=2;
GrCircle3(dc,x2+R2*Cos(č),y2-R2*Sin(č),0,8);
dc->color=WHITE;
dc->pen_width=2;
GrCircle3(dc,x2+(R2+15)*Cos(č+ă/6),y2-(R2+15)*Sin(č+ă/6),0,3);
}
dc->color=BROWN;
GrFloodFill(dc,x2+R2*Cos(č),y2-R2*Sin(č));
dc->color=DKGRAY;
GrFloodFill(dc,x2,y2);
dc->pen_width=6;
dc->color=RED;
GrCircle3(dc,x1,y1,0,R1-6);
dc->color=DKGRAY;
GrCircle3(dc,x1,y1,0,R1-2);
dc->color=LTGRAY;
GrRect(dc,x1-2,y1-R2-1,4,10);
GrCircle3(dc,x1,y1,0,R1);
dc->color=RED;
GrFloodFill(dc,x1,y1,TRUE);
dc->color=BLACK;
GrFloodFill(dc,x1,y1);
}
U0 Song()
{
CTask *task;
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
task=PopUpViewStr(
"$LK,"Mark,14:37","BF:Mark,14:37"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
while (!ScanKey) {
"$$FG,GREEN$$Jesus talking...$$FG$$\n";
Play("W13eBC!qB2sG3D2G3DetC!!GFsCBCB!etCGBeB!!GsBCB!C",
"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",
"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",
" \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",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0am \0a \0dead \0 \0man.\n\0");
}
} catch
CatchAll;
SettingsPop;
}
Song;
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,51 @@
//7 has words
F64 t0=tMBeat;
U0 DrawIt(CTask *task,CDC *dc)
{
static I64 i=0;
F64 dt=tMBeat-t0;
if (dt>16.0 && i++&1) {
dc->color=WHITE;
GrRect(dc,0,0,task->win_pixel_width,task->win_pixel_height);
}
}
U0 Song()
{
CTask *task;
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->task_end_cb=&SndTaskEndCB;
task=PopUpViewStr(
"$LK-A,"BF:Acts,9:3"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
music_tempo=2.5;
DocCursor;
DocClear;
Fs->draw_it=&DrawIt;
try {
while (!ScanKey) {
t0=tMBeat;
Play("3qEeACA2G3qCEC2G3E",
"Now... \0 \0 \0 \0 \0I \0see \0the \0light.\n\0 \0");
Play("EeACA2G3qCEC2G3E",
"Now... \0 \0 \0 \0 \0I \0see \0the \0light.\n\0 \0");
Play("GCGBEeDFCAqD",
"It's \0 \0quite \0 \0bright.\n\0 \0 \0 \0 \0 \0");
Play("GCGBEeDFCAqD",
"It's \0 \0quite \0 \0bright.\n\0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
SettingsPop;
}
Song;
@@ -0,0 +1,54 @@
//9 has graphics
F64 t0;
#define HORIZON_Y 50
#define LEFT_EDGE 200
U0 DrawIt(CTask *task,CDC *dc)
{
I64 i;
F64 dt=tMBeat-t0,d=Limit(0.1*dt,0,2),d2;
dc->color=ROPF_PROBABILITY_DITHER+LTCYAN<<16+CYAN;
for (i=HORIZON_Y;i>=0;i--) {
d2=ToF64(HORIZON_Y-i)/HORIZON_Y;
dc->dither_probability=1<<16*Limit((4.0-d2)/4.0*d*d-0.15,0,1.0);
GrLine(dc,LEFT_EDGE,i,task->win_pixel_width-1,i);
}
d=(task->win_pixel_width-LEFT_EDGE)/2+LEFT_EDGE;
dc->color=YELLOW;
GrCircle(dc,d,HORIZON_Y+50-dt,40);
GrFloodFill(dc,d,HORIZON_Y+15-dt,TRUE);
dc->color=GREEN;
GrRect(dc,200,HORIZON_Y,task->win_pixel_width-200,task->win_pixel_height-HORIZON_Y);
}
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.500;
music_stacatto_factor= 0.900;
try {
while (!ScanKey) {
t0=tMBeat;
Play("3qB!eB2G!3qA!!eF!!AsF!AFA!!qC2sG!3A!2G3ARBRB",
"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",
"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",
"cheer-\0up \0 \0the \0heart\n\0 \0 \0 \0 \0 \0 \0 \0 \0as \0 \0you \0");
Play("!eDDR!!CqG!2eGR3qE!!etEA!!FqCsDGDG",
"hitch-\0up \0 \0the \0cart.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
SettingsPop;
}
Song;
@@ -0,0 +1,22 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qEsCDCDqCDeEGsEBEBeCBsDADA",
"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");
Play("eBDqF2sG3A2G3AqAAAetDAAsDBDB");
Play("eBDqF2sG3A2G3AqAAAetDAAsDBDB");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,24 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qBAeEE!qAeA!EDB!2qG3F",
"$$FG,RED$$You \0need \0help!\n\0 \0 \0 \0Po\0-o\0-o\0r \0dear.\n\0");
Play("BAeEE!qAeA!EDB!2qG3F",
"You \0need \0help!\n\0 \0 \0 \0Po\0-o\0-o\0r \0dear.\n$$FG$$\0");
Play("!4eFG!!qDetF!E!D!eD!EetADEC3G4GqD3G",
"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",
"Pat\0ron\0ize? \0No, \0 \0thank \0you!\n\0 \0Too \0 \0man\0y \0strings \0a\0ttach\0ed.\n\0");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,30 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 3.966;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qABeCCqABAAR",
"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");
Play("DeCCCCqCDCCR",
"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",
"$$FG,RED$$Be\0-e-\0cause \0 \0 \0 \0I \0 \0a\0 \0m.\n\0");
Play("GD!G!!eGA2G3FqF!!eDRqB",
"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$$";
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,32 @@
//7 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
task=PopUpViewStr(
"$LK-A,"BF:Luke,12:16"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
while (!ScanKey) {
Play("3etGREqDDBRGCB",
"It \0 \0de\0pends \0 \0on \0 \0the \0wea\0ther.\n\0");
Play("etGREqDDBRGCB",
"If \0 \0we \0reach \0 \0the \0 \0end \0ev\0er.\n\0");
Play("2sG3E2G3EqGsGBGBqDsFCFCqBRsCBCB",
"Hand \0 \0of \0 \0God, \0 \0just \0 \0might, \0 \0in\0 \0ter\0 \0cedes.\n\0 \0 \0 \0 \0 \0");
Play("2G3E2G3EqGsGBGBqDsFCFCqBRsCBCB",
"If \0 \0it's \0 \0not \0 \0deemed \0 \0right, \0 \0won't \0 \0suc\0 \0ceed.\n\0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,24 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("M9/8");
Play("W13hDeFhDeFhDC");
Play("FeDhFeDhFE");
Play("M4/4");
Play("qD!!2G3AeBF!FE2qG!!3D!!A",
" \0 \0 \0 \0It's \0gon\0na \0be \0fine.\n\0 \0");
Play("D!!2G3AeBF!FE2qG!!3D!!A",
" \0 \0 \0 \0It's \0gon\0na \0be \0fine.\n\0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,20 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
while (!ScanKey) {
Play("3sEAEAeFFsA2G3A2G3FGFGqCCBA",
"All \0 \0 \0 \0hell \0 \0breaks \0 \0 \0 \0loose.\n\0 \0 \0 \0I \0will \0get \0through.\n\0");
Play("sEAEAeFFsA2G3A2G3FGFGqCCBA",
"All \0 \0 \0 \0hell \0 \0breaks \0 \0 \0 \0loose.\n\0 \0 \0 \0I \0will \0get \0through.\n\0");
Play("ACeCCsBBBBqEsCCCCqAE");
Play("ACeCCsBBBBqEsCCCCqAE");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,26 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("M3/4");
Play("W13eECqAAeECqAA",
"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",
"$$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",
"Don't \0 \0 \0smile.$$FG$$\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,16 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
while (TRUE) {
Play("et2G32G3Gq2G3qCq2G3sFAFAq2G3etGDAqA",
"Don't \0 \0need \0 \0help. \0 \0Got \0 \0it \0 \0all \0figured \0 \0 \0out.\n\0");
Play("et2G32G3Gq2G3qCq2G3sFAFAq2G3etGDAqA",
"Don't \0 \0need \0 \0help. \0 \0Got \0 \0it \0 \0all \0figured \0 \0 \0out.\n\0");
Play("etCCCq2G3qDeDFetCF2G3qBeGFsAGAG");
Play("etCCCq2G3qDeDFetCF2G3qBeGFsAGAG");
}
}
Song;
@@ -0,0 +1,24 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qA!!sDGD!!GqAsCA!CAeCBsFDF!D!!etCGAsAD!A!!D",
" \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",
" \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",
"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",
"Stu-\0 \0u-\0ck \0on \0 \0this \0 \0Earth \0be\0low.\n\0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,20 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
while (!ScanKey) {
Play("2qG3sDADAeF2G3etFDCBA2G3qAetGFC2eG3E",
" \0Let's \0 \0try. \0 \0 \0 \0O\0oh\0 \0h. \0 \0 \0 \0Didn't \0 \0 \0work.\n\0 \0");
Play("2qG3sDADAeF2G3etFDCBA2G3qAetGFC2eG3E",
" \0Let's \0 \0try. \0 \0 \0 \0O\0oh\0 \0h. \0 \0 \0 \0Didn't \0 \0 \0work.\n\0 \0");
Play("sA2G3A2G3eBCsE2G3E2G3qGsFEFEDBDBeAG2etG3B2G");
Play("3sA2G3A2G3eBCsE2G3E2G3qGsFEFEDBDBeAG2etG3B2G");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,22 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
"$$FG,GREEN$$To God...$$FG$$\n";
Play("M5/4");
Play("W13eEqCeEFEDCqBeEqCeEFEDCqB",
"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");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,42 @@
//7 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.500;
music_stacatto_factor= 0.900;
try {
task=PopUpViewStr(
"$$WW+H,1$$You get what you pray for. "
"Most people are fools like King Midas. People have laughable notions of Heaven. "
"You'd be surprised -- I can't imagine things being much better than Earth "
"because we need a sense of purpose. "
"Don't ask for stuff, let God pick, but He might get annoyed at that. "
"God wants us to be happy. He tries hard. If you do get what you pray for, you damn "
"well better be happy, lil' sonfabitch!\n\n"
"$LK,"Ecclesiastes,3:13","BF:Ecclesiastes,3:13"$\n"
"$LK,"John,16:24","BF:John,16:24"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
while (!ScanKey) {
Play("W13qBeCDqCAetAACeECsF2G3F2GqG",
"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");
Play("3etEDDDGABG2GeG3E2G3GqF2G3etGCD",
"He \0 \0 \0told \0 \0 \0me \0 \0 \0 \0to \0 \0be \0hap\0py.\n\0 \0 \0 \0");
Play("EDDDGABG2GeG3E2G3GqF2G3etGCD",
"He \0 \0 \0said \0 \0 \0to \0 \0 \0 \0make \0 \0it \0snap\0py.\n\0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,39 @@
//9 has graphics
U0 DrawIt(CTask *task,CDC *dc)
{
I64 i,cx=0.85*task->win_pixel_width,cy=task->win_pixel_height+10;
dc->pen_width=5;
for (i=2;i<=7;i++) {
dc->color=gr_rainbow_10[9-i];
GrCircle3(dc,cx,cy,0,(i+5)*5);
}
}
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
while (!ScanKey) {
DocClear;
"$$BG,LTCYAN$$$$FG,BLACK$$";
Play("3eEDsBABA2qG3etGECFDBECFCBReBE",
"Come \0and \0sing \0 \0a\0 \0long. \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0\n\0 \0 \0 \0");
Play("EDsBABA2qG3etGECFDBECFCBReBE",
"Of\0fer \0praise \0 \0to \0 \0God. \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0\n\0 \0 \0 \0");
Play("qBeDF2qG3eFRqBetFFGeACDF",
"Up \0in \0His \0hea\0ven \0 \0He \0is \0 \0 \0glor\0i\0ous.\n\0 \0");
Play("qBeDF2qG3eFRqBetFFGeACDF",
"Break \0in\0to \0song. \0 \0 \0Strike-\0up \0 \0 \0the \0chor\0us.\n\0 \0");
}
} catch
CatchAll;
SettingsPop;
}
Song;
@@ -0,0 +1,62 @@
//8 has graphics
U0 DrawIt(CTask *,CDC *dc)
{
I64 i;
F64 dt=tMBeat%8.0,z,w,x1,y1,z1,x2,y2,z2;
Bool first=TRUE;
DCAllocDepthBuf(dc);
dc->flags|=DCF_TRANSFORMATION;
dc->x=30*dt+20.0*Sin(dt)+25;
dc->y=10*dt-15;
dc->z=GR_Z_ALL;
GrRotXEqu(dc->r,0.75*dt);
GrRotYEqu(dc->r,0.45*dt);
GrRotZEqu(dc->r,0.50*dt);
GrScaleMatEqu(dc->r,0.5);
for (i=-50;i<40;i+=2) {
if (i&2)
dc->color=LTGRAY;
else
dc->color=DKGRAY;
z=10*Cos(i/10.0*ã/8.0)*Cos(dt);
w=Tri(100+i,200);
x1=i-3;y1=0;z1=z;
if (-30<=i<=40) {
GrLine3(dc,i,-10*w,z,i-3,0,z);
GrLine3(dc,i,+10*w,z,i-3,0,z);
}
if (!first) {
dc->color=DKGRAY;
GrLine3(dc,x1,y1,z1,x2,y2,z2);
}
x2=x1;y2=y1;z2=z1;
first=FALSE;
}
}
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
"$$BG+H,LTCYAN$$";
while (!ScanKey) {
Play("W13qE!AA!etF2G3G!qDF!!etFE!D2eG!3G",
"A\0dam... \0 \0no \0 \0 \0long\0er \0sees \0Your \0face.\n\0 \0 \0");
Play("qE!AA!etF2G3G!qDF!!etFE!D2eG!3G",
"Oh! \0 \0 \0What \0 \0a \0wretch\0ed \0bar\0ren \0waste!\n\0 \0 \0");
Play("qACFeB!CB2GqG3E!D",
" \0 \0 \0 \0 \0 \0 \0 \0Ex\0iled.\n\0");
Play("ACFeB!CB2GqG3E!D");
}
} catch
CatchAll;
SettingsPop;
}
Song;
Binary file not shown.
@@ -0,0 +1,37 @@
//7 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
task=PopUpViewStr(
"$LK-A,"BF:Luke,7:42"$\n"
"\n"
"Prodigal Son\n"
"$LK-A,"BF:Luke,15:21"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
music_tempo=2.5;
try {
"$$WW+H,1$$";
while (!ScanKey) {
Play("3qGGsEAEAqAsF2G3F2G3qCeEFqD",
"Life, \0life, \0isn't \0 \0 \0 \0fair. \0Isn't \0 \0 \0 \0fair.\n\0 \0 \0 \0");
Play("GGsEAEAqAsF2G3F2G3qCeEFqD",
"Waaa, \0waaa, \0isn't \0 \0 \0 \0fair. \0Isn't \0 \0 \0 \0fair.\n\0 \0 \0 \0");
Play("eFCqEBDBE2eG3EsFEFE",
" \0 \0I \0 \0ne\0ver \0sin.\n\0 \0 \0 \0 \0 \0 \0");
Play("eFCqEBDBE2eG3EsFEFE",
" \0 \0I \0 \0ne\0ver \0win.\n\0 \0 \0 \0 \0 \0 \0");
"$$FG,GREEN$$(A warning on presumption. 'Who loves more man -- forgiven big debt or little?' See prodigal son.)$$FG$$\n";
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,20 @@
//7 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.857;
try {
while (!ScanKey) {
Play("W13eEDEFqDDeEDEDqCC");
Play("eD2G3BCqDsGGGGeD2G3BCqDsGGGG");
Play("qF!FFetREA!qG!sG!FG!!F!GEGEqC");
Play("F!FFetREA!qG!sG!FG!!F!GEGEqC");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,20 @@
//7 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.758;
try {
while (!ScanKey) {
Play("W13sDDeBCsAAeB2G3A2F3sCCeDsFFeEsFFEEeDE");
Play("sDDeBCsAAeB2G3A2F3sCCeDsFFeEsFFEEeDE");
Play("sGBGB2etG3EGqF!!ED2G3eBA!DG");
Play("sGBGB2etG3EGqF!!ED2G3eBA!DG");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,20 @@
//8 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.714;
try {
while (!ScanKey) {
Play("W13sBBBBEBDBeEBqDeBBEDEBqD");
Play("sFEFEeFEDBqDeEFEBABqD");
Play("eDGqEeBAABqF!eBD!qE!A");
Play("eDGqEeBAABqF!eBD!qE!A");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,24 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 1.930;
music_stacatto_factor= 0.604;
try {
while (!ScanKey) {
Play("W13sEqAsDeCqAsEqAsDeCqAsDeEqEsE",
"Jes\0us \0kind \0of \0freaks,\n\0Jes\0us \0kind \0of \0freaks,\n\0are \0dif\0ferent \0 \0");
Play("eDqCsDeCqBsBeBqAetBED!qBeC!B",
"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",
"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",
"care,\n\0for \0God \0 \0is \0their \0 \0joy!\n\0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,34 @@
//8 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
task=PopUpViewStr(
"$LK,"Romans,8:28","BF:Romans,8:28"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
while (!ScanKey) {
Play("W13qEEBeBDsBBB!BqDsBFB!!FD2G3D!2G",
"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",
"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",
"All \0things \0work \0for \0good... \0to \0the \0Lord.\n\0 \0 \0 \0 \0 \0 \0");
Play("D2G3eA2G3qCetEC!AqBsA!!C!ACqA",
"It's \0all \0good... \0 \0 \0as\0 \0sured.\n\0 \0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,20 @@
//7 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.758;
try {
while (!ScanKey) {
Play("W13qBeABqA2G3AB2hG");
Play("3sCCCCqBsAAAA2qG3sCCCCqE2GR");
Play("!!3sBDB!!DA2G!3A2G!!3etAA!EsGCGCetFFEqDFeE2G");
Play("!!3sBDB!!DA2G!3A2G!!3etAA!EsGCGCetFFEqDFeE2G");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,35 @@
//7 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
task=PopUpViewStr(
"Asking God for stuff is like knocking on the door\n"
"of a neighbor in the middle of the night.\n"
"It's annoying! We're supposed to love God!\n"
"$LK-A,"BF:Luke,11:5"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
while (!ScanKey) {
Play("3qBBE2GG3FFC",
"We \0are \0in \0the \0image \0of \0God.\n\0 \0");
Play("BBE2GG3FFC",
"Some \0people's \0prayer \0is \0ver\0y \0odd.\n\0 \0");
Play("eGDqCB2G3eGEqEC2G",
"They \0don't \0love \0Him.\n\0 \0They \0love \0their \0neigh\0bor.\n\0");
Play("3eGDqCB2G3eGEqEC2G",
"Pest\0er\0ing \0Him.\n\0 \0Ask\0ing \0for \0fav\0ors.\n\0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,20 @@
//7 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W12q.GeG3qB2GG3A2GeFF");
Play("q.GeG3qB2GG3A2GeFF");
Play("3CD!qGB!AF!C!FeDB");
Play("CD!qGB!AF!C!FeDB");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,22 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.151;
music_stacatto_factor= 0.780;
try {
while (!ScanKey) {
Play("W13eCsBBeA#BCDCBCsBBeA#BCDCB");
Play("etDCBeCBCBABetDCBeCBCBAB");
Play("!A2G!3sBG!B!GFC!FCBFBFetF!GAsFGF!G!qG!D",
"I \0have \0kept \0 \0the \0 \0Lord's \0 \0day, \0 \0 \0 \0 \0 \0 \0 \0 \0all \0 \0 \0 \0day!\n\0 \0");
Play("!eA2G!3sBG!B!GFC!FCBFBFetF!GAsFGF!G!qG!D",
"O\0kay, \0 \0God... \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0where's \0 \0 \0is \0 \0my \0 \0pay?\n\0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,33 @@
//8 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
try {
task=PopUpViewStr(
"$LK-A,"BF:Matthew,19:16"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
"$$WW+H,1$$";
while (!ScanKey) {
Play("3eGAetCCCFFDqAeAAFAAFqG",
"I \0 \0have \0 \0 \0kept \0 \0 \0 \0 \0 \0the \0 \0 \0com\0mands.\n\0");
Play("eGAetCCCFFDqAeAAFAAFqG",
"I \0 \0have \0 \0 \0kept \0 \0 \0 \0 \0 \0the \0 \0 \0com\0mands.\n\0");
Play("EeEGqEeEEqDBetCCGqC",
"What \0 \0 \0else \0 \0 \0must \0I \0do?\n\0 \0 \0 \0");
Play("EeEGqEeEEqDBetCCGqC",
"What \0 \0 \0else \0 \0 \0must \0I \0do?\n\0 \0 \0 \0");
"$$FG,GREEN$$(Christ said sell all and follow me.)\n$$FG$$";
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,59 @@
//8 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.976;
music_stacatto_factor= 0.538;
try {
while (!ScanKey) {
Play("W13qEDCDeEEqEeDDqD");
Play("EDCDeEEqEeDDqD");
Play("eD!!AsFDF!DqFsFBFB2qG3etBB!BqFC");
Play("eD!!AsFDF!DqFsFBFB2qG3etBB!BqFC");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,52 @@
//8 has graphics
U0 DrawIt(CTask *task,CDC *dc)
{
F64 x1,x2,y1,y2,x3,y3,radius,pedals,é,t=tMBeat,
cx=335,cy=task->win_pixel_height>>1;
Bool first=TRUE;
radius=cy*(1.0+Sin(2*ã*t));
pedals=8;
dc->color=BLACK;
for (é=0;é<2*ã;é+=2*ã/100) {
P2R(&x2,&y2,radius*Abs(Sin(pedals/2*é))+5,é+t);
if (!first)
GrLine(dc,x1+cx,cy-y1,x2+cx,cy-y2);
else {
first=FALSE;
x3=x2; y3=y2;
}
x1=x2; y1=y2;
}
GrLine(dc,x1+cx,cy-y1,x3+cx,cy-y3);
dc->color=(2*t)%16;
GrFloodFill(dc,cx,cy);
}
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
while (TRUE) {
Play("qBq2G3sGAGAetCBBqAq2G3sBBBBeFE",
"I \0am \0feeling \0 \0 \0 \0 \0 \0brave.\n\0");
Play("qBq2G3sGAGAetCBBqAq2G3sBBBBeFE",
"I \0am \0feeling \0 \0 \0 \0 \0 \0brave.\n\0");
Play("qCsDEDEq2G3qDqBqAqGq2G3",
"Test \0me \0 \0 \0 \0Lord. \0See \0if \0I'm \0wor\0thy.\n\0");
Play("qCsDEDEq2G3qDqBqAqGq2G3",
"Test \0me \0 \0 \0 \0Lord. \0See \0if \0I'm \0wor\0thy.\n\0");
}
} catch
CatchAll;
SettingsPop;
}
Song;
Binary file not shown.
+23
View File
@@ -0,0 +1,23 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
"$$WW+H,1$$";
while (!ScanKey) {
Play("3qAAsG2G3G2G3qGF2eG3FqEetCBA",
"Let's \0ask \0Mike\0 \0 \0 \0y; \0Hates \0 \0every\0thing.\n\0 \0 \0 \0");
Play("qAAsG2G3G2G3qGF2eG3FqEetCBA",
"Let's \0ask \0Mike\0 \0 \0 \0y; \0Hates \0 \0every\0thing.\n\0 \0 \0 \0");
Play("2eG3GqE2eG3FqF2sG3G2G3GqAetGEBqD",
"What \0do \0YOU \0 \0 \0know. \0 \0 \0 \0 \0 \0It's \0 \0kosh\0er!\n\0");
Play("2eG3GqE2eG3FqF2sG3G2G3GqAetGEBqD",
"What \0do \0YOU \0 \0 \0know. \0 \0 \0 \0 \0 \0It's \0 \0kosh\0er!\n\0");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
+20
View File
@@ -0,0 +1,20 @@
//9 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
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");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,20 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
while (!ScanKey) {
Play("2eG3DGDqGetA2G3B2qG3GCE",
" \0 \0 \0 \0 \0 \0 \0 \0 \0It's \0ko\0sher.\n\0");
Play("2eG3DGDqGetA2G3B2qG3GCE",
" \0 \0 \0 \0 \0 \0 \0 \0 \0It's \0ko\0sher.\n\0");
Play("C2G3sGFGFDCDCetE2G3CGFAqDeFC");
Play("qC2G3sGFGFDCDCetE2G3CGFAqDeFC");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,22 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
while (!ScanKey) {
Play("qRsR2GRGeGR3qA2etG3EEqEeDCB2G",
" \0 \0He \0 \0is \0 \0 \0our \0 \0 \0 \0per\0son\0al \0sav\0ior.\n\0");
Play("qRsRGRGeGR3qA2etG3EEqEeDCB2G",
" \0 \0We \0 \0can \0ne\0 \0ver \0 \0 \0 \0re\0turn \0the \0fav\0or.\n\0");
Play("3CBBGsF2G3F2G3qBsBBBB2eG3AetBBGeBF",
" \0 \0 \0That's \0 \0O.\0 \0K. \0 \0 \0 \0 \0 \0 \0 \0works \0 \0 \0for \0me.\n\0");
Play("CBBGsF2G3F2G3qBsBBBB2eG3AetBBGeBF",
" \0 \0 \0That's \0 \0O.\0 \0K. \0 \0 \0 \0 \0 \0It's \0 \0works \0 \0 \0for \0me.\n\0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,20 @@
//7 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.780;
try {
while (!ScanKey) {
Play("W13eCDBCA2FFF3C2F3E2F3A2F3sEEeD");
Play("F2FFF3qCeF2F3F2FFF3qCeF2F");
Play("!3qG!sEAEAqB!etDC!F2qG3D!sGDGDetCRC");
Play("!qG!sEAEAqB!etDC!F2qG3D!sGDGDetCRC");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,16 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
while (TRUE) {
Play("qCqAqAsEDEDqBqBetGGEs2G3C2G3C");
Play("qCqAqAsEDEDqBqBetGGEs2G3C2G3C");
Play("etCD2G3etEE2G3qFqFqAsACACsAFAFetECC",
"In \0my \0 \0corn\0 \0 \0er? \0 \0 \0 \0 \0 \0 \0Hope \0we're \0right.\n\0");
Play("etCD2G3etEE2G3qFqFqAsACACsAFAFetECC",
"In \0my \0 \0corn\0 \0 \0er? \0 \0 \0 \0 \0 \0 \0Hope \0we're \0right.\n\0");
}
}
Song;
Binary file not shown.
@@ -0,0 +1,21 @@
//8 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 3.360;
music_stacatto_factor= 0.846;
try {
while (!ScanKey) {
Play("M5/4");
Play("W12qGGG3qtCBA2qGGG3qtCetBBqtA");
Play("qEeCCqDqtCBAM4/4");
Play("qD!eA!2G3DG2G3DF!FAC!!2qG3eAE");
Play("qD!eA!2G3DG2G3DF!FAC!!2qG3eAE");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,22 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
while (!ScanKey) {
Play("3sF2G3F2G3eGDA2GqG3eEDsAAAA2eG3FsFGFG",
"In \0 \0the \0 \0twi\0light \0zone,\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("F2G3F2G3eGDA2GqG3eEDsAAAA2eG3FsFGFG",
"keep \0 \0a \0 \0friend\0ly \0tone.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("C2G3C2G3qFG2GG3sGDGDqGsDCDC",
"Mind \0 \0in \0 \0knots? \0 \0 \0 \0Skip \0 \0de \0 \0bait.\n\0 \0 \0 \0 \0");
Play("C2G3C2G3qFG2GG3sGDGDqGsDCDC",
"Watch \0 \0those \0 \0thoughts. \0 \0 \0 \0Head \0 \0on \0 \0straight.\n\0 \0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,39 @@
//8 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
task=PopUpViewStr(
"$$WW+H,1$$$LK-A,"BF:Matthew,6:11"$\n\n"
"I find two things interesting. Jesus asks for "
"the bare minimum... can't ask for less than daily bread. "
"Also, He actually demands it. I find that funny.\n\n"
"$LK-A,"BF:Matthew,10:31"$\n\n"
"I have a funny story. I used to shoot birds with a BB-gun. "
"That passage didn't snd so comforting!! How many sparrows "
"am I worth?\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
try {
while (!ScanKey) {
Play("3qGsB2G3B2G3eF2G3sGGGGeRFC2G3qFC",
"Where's \0my \0 \0 \0next \0 \0 \0meal!!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("GsB2G3B2G3eF2G3sGGGGeRFC2G3qFC",
"God, \0we \0 \0 \0had \0 \0a \0deal!!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("B2GsG3A2G3AeCCsCECEqACsGFGF",
"Day \0old \0bread?\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qB2GsG3A2G3AeCCsCECEqACsGFGF",
"'Dai\0ly' \0I \0 \0 \0 \0said.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,24 @@
//9 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 1.820;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13eC2G3DDEDqCeEEGFGFqE",
"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",
"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",
"Take \0 \0the \0step,\n\0 \0 \0 \0 \0 \0 \0 \0not \0back.\n\0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,19 @@
//9 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 1.710;
music_stacatto_factor= 0.736;
try {
while (!ScanKey) {
Play("W13sDDDACCADDACCAe.DsCCC2G3FD2G3FD2G3CCAe.D");
Play("qD2sG3G2G3G!etGDAeF2GqG3etF!BA!!EACE!CE");
Play("qD2sG3G2G3G!etGDAeF2GqG3etF!BA!!EACE!CE");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,21 @@
//7 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 1.930;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("M9/8");
Play("W13qAeCBAq.CsAAqAeCBA2q.G3sBC");
Play("qAeDCAhBeFsEEeDq.CM4/4");
Play("sAFAFeF!!2GsG3B2G!!3BqGeA!sAAetEGDE2G!3DeGsGG");
Play("AFAFeF!!2GsG3B2G!!3BqGeA!sAAetEGDE2G!3DeGsGG");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,89 @@
//9 has graphics
/*
This is one of the oldest songs. I picked
the random name "risen" and said to God
"Oh, you're ambitious," thinking it was
an epic name. He laughed and gave an
epic song!
*/
F64 t0=tMBeat;
#define WING 6
#define BODY 2
U0 Bird(CDC *dc,F64 wing_é)
{
CD3I32 p[3];
dc->color=WHITE;
p[0].x=0; p[0].y=0; p[0].z=-BODY;
p[1].x=0; p[1].y=0; p[1].z=BODY;
p[2].x=-WING*Cos(wing_é); p[2].y=-WING*Sin(wing_é); p[2].z=0;
GrFillPoly3(dc,3,p);
p[0].x=0; p[0].y=0; p[0].z=-BODY;
p[1].x=0; p[1].y=0; p[1].z=BODY;
p[2].x=WING*Cos(wing_é); p[2].y=-WING*Sin(wing_é); p[2].z=0;
GrFillPoly3(dc,3,p);
dc->color=ROPF_DITHER+WHITE<<16+LTGRAY;
GrLine3(dc,0,0,-BODY,0,0,BODY);
}
#define NUM_BIRDS 7
#define RANGE 5
F64 bx[NUM_BIRDS],by[NUM_BIRDS];
U0 DrawIt(CTask *,CDC *dc)
{
I64 i;
F64 é,dt=tMBeat-t0;
DCAllocDepthBuf(dc);
dc->x=325;
dc->y=95;
dc->z=GR_Z_ALL;
dc->flags|=DCF_TRANSFORMATION;
for (i=0;i<NUM_BIRDS;i++) {
bx[i]=Limit(bx[i]+0.25*SignI64(RandI16),-RANGE,RANGE);
by[i]=Limit(by[i]+0.25*SignI64(RandI16),-RANGE,RANGE);
é=ã/2*i/NUM_BIRDS+0.2*ã*dt+ã/2;
GrIdentEqu(dc->r);
GrRotXEqu(dc->r,ã/2);
GrRotZEqu(dc->r,é);
GrSetTranslation(dc->r,50*Cos(é)+bx[i],50*Sin(é)+by[i],30*i/NUM_BIRDS+4*dt);
GrRotXEqu(dc->r,0.35*ã);
Bird(dc,Sin(2*ã*dt+i*2*ã/NUM_BIRDS));
}
}
U0 Song()
{
I64 i;
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
for (i=0;i<NUM_BIRDS;i++) {
bx[i]=RANGE*RandI16/RANGE;
by[i]=RANGE*RandI16/RANGE;
}
try {
"$$BG+H,LTCYAN$$$$FD+H,BLACK$$";
while (!ScanKey) {
t0=tMBeat;
Play("W13eDEqFFetEEFqDeCDDEetCGF");
Play("eDEqFFetEEFqDeCDDEetCGF");
Play("eDCqDEeAAetEEFEDGBDCqF");
Play("eDCqDEeAAetEEFEDGBDCqF");
}
} catch
CatchAll;
SettingsPop;
}
Song;
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,35 @@
//7 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
task=PopUpViewStr(
"$LK,"Matthew,20:28","BF:Matthew,20:28"$\n"
"$LK,"Mark,10:45","BF:Mark,10:45"$\n"
"$LK,"John,13:14","BF:John,13:14"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
while (!ScanKey) {
"$$FG,GREEN$$Jesus talking...\n$$FG$$";
Play("M6/8");
Play("W13eAACADAADACAR",
" \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");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,20 @@
//8 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13hDeDA2qG3hDeD2GqF");
Play("3hDeD2sFG3qAhDeDA2qG");
Play("3eC!!EsACACeD2G3qA!AFeE2G!3etFCC");
Play("eC!!EsACACeD2G3qA!AFeE2G!3etFCC");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,25 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qF!2GsGG!!GG3GFG!FqAeD!2G!3etDBEsFCFC",
"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",
"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",
" \0Life \0is \0too \0 \0 \0 \0prec\0i\0ous.\n\0 \0 \0");
Play("qBG!!FsEAEAqEFGeF!C",
" \0Can \0be \0 \0 \0 \0 \0worr\0i\0ous.\n\0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,35 @@
//7 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
task=PopUpViewStr(
"$LK,"Proverbs,11:25","BF:Proverbs,11:25"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
while (!ScanKey) {
Play("W12eG3CD!AqE!!sACACG!EGEqDsAAA!AetCDD",
"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",
"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",
" \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",
" \0 \0Wat\0er \0that \0tree.$$FG$$\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,76 @@
//7 has graphics
#define X 330
#define Y 15
#define NUM_BEAMS 256
F64 beams_r[NUM_BEAMS],beams_é[NUM_BEAMS];
U0 DrawIt(CTask *,CDC *dc)
{
I64 i;
F64 r,x1,y1,x2,y2;
dc->color=YELLOW;
GrCircle(dc,X,Y,10);
GrFloodFill(dc,X,Y,10);
dc->color=BROWN;
GrCircle(dc,X,Y,10);
dc->color=YELLOW;
for (i=0;i<NUM_BEAMS;i++) {
r=125.0*((0.25*tMBeat+beams_r[i])%1.0);
P2R(&x1,&y1,r ,beams_é[i]);
P2R(&x2,&y2,r+10.0,beams_é[i]);
GrLine(dc,x1+X,y1+Y,x2+X,y2+Y);
}
}
U0 Song()
{
I64 i;
CTask *task;
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
for (i=0;i<NUM_BEAMS;i++) {
beams_r[i]=Rand;
beams_é[i]=2*ã*Rand;
}
try {
task=PopUpViewStr(
"$LK,"Numbers,6:25","BF:Numbers,6:25"$\n"
"$LK,"Psalms,31:16","BF:Psalms,31:16"$\n"
"$LK,"Psalms,67:1","BF:Psalms,67:1"$\n"
"$LK,"Psalms,80:3","BF:Psalms,80:3"$\n"
"$LK,"Psalms,80:19","BF:Psalms,80:19"$\n"
"$LK,"Psalms,119:135","BF:Psalms,119:135"$\n"
"$LK,"Daniel,9:17","BF:Daniel,9:17"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
"$$BD+H,LTCYAN$$$$FD+H,BLACK$$";
while (!ScanKey) {
Play("W12qG3eCB2hGqG3eCB2qG3A",
"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",
" \0ple.\n\0 \0Fath\0e\0r \0a\0");
Play("FD!A!eEDqE!!CAF",
"bove,\n\0 \0 \0I \0 \0feel \0 \0 \0Your \0");
Play("FD!A!eED",
"love.\n\0 \0 \0 \0 \0");
}
} catch
CatchAll;
SettingsPop;
}
Song;
@@ -0,0 +1,24 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
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",
"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",
"$$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",
"Running \0 \0 \0a\0way \0 \0 \0 \0 \0 \0from \0the \0Lord \0won't \0 \0work.$$FG$$\n\0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,25 @@
//7 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.260;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
"$$FG,GREEN$$As I look back on my sinful past...$$FG$$\n";
Play("W13qCAABAeAECEqB",
"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");
Play("etDEDqFetBEDeAFGEqFDE",
"Sad \0to \0say, \0 \0I \0guess \0 \0it \0 \0was \0 \0 \0me.\n\0 \0");
Play("etDEDqFetBEDeAFGEqFDE",
"Sad \0to \0say, \0 \0I \0guess \0 \0it \0 \0was \0 \0 \0me.\n\0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
//8 special
U8 *bible;
I64 size;
U0 TaskEndCB()
{
Snd(0);
Free(bible);
Exit;
}
#define LEN 256
U0 PutVerse()
{
U8 *ch;
I64 *start;
"$$CL$$";
start=GetTimeStamp/16%size;
if (start>size-LEN) start=size-LEN;
ch=bible[start+LEN-1];
bible[start+LEN-1]=0;
"" bible+start;
bible[start+LEN-1]=ch;
}
U0 Song()
{
U8 *bible_filename=Define("ST_BIBLE_FILE");
Fs->task_end_cb=&TaskEndCB;
music_tempo=2.5;
bible=FileRead(bible_filename,&size);
"$$WW+H,1$$";
try {
while (!ScanKey) {
PutVerse;
Play("3qAeABCBqCetABBqCetAAREE2G");
Play("3qAeABCBqCetABBqCetAAREE2G");
Play("3eDRRRqGReRRGGGGqE");
Play("eDRRRqGReRRGGGGqE");
}
} catch
CatchAll;
Snd(0);
Free(bible);
}
Song;
@@ -0,0 +1,22 @@
//8 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W14etEEEqBetDDqtDqBetCCqtCqBhB");
Play("etEEEqBetDDqtDqBetCCqtCqBhB");
Play("etABCqDetBCCqDetDCBqAhA");
Play("etABCqDetBCCqDetDCBqAhA");
Play("!qAetC!!AEsG!!CGCetBC3G4ADAqAGetDAD");
Play("!qAetC!!AEsG!!CGCetBC3G4ADAqAGetDAD");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
@@ -0,0 +1,35 @@
//7 has words
U0 Song()
{
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
music_tempo=2.5;
try {
task=PopUpViewStr(
"$LK,"Mark,11:12","BF:Mark,11:12"$\n"
"$LK,"Matthew,3:10","BF:Matthew,3:10"$\n"
"$LK,"Matthew,25:18","BF:Matthew,25:18"$\n"
);
TaskWait(task);
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
task->win_top=Fs->win_bottom+3;
task->win_bottom=task->win_top+12;
TaskDerivedValsUpdate(task);
while (!ScanKey) {
Play("2qG3sFEFEqDBEetCB2G3qFsBDBD",
" \0Damn \0 \0 \0 \0 \0 \0fig \0 \0 \0 \0tree.\n\0 \0 \0 \0 \0");
Play("2qG3sFEFEqDBEetCB2G3qFsBDBD",
" \0On\0ly \0 \0 \0good \0 \0for \0a \0 \0 \0pee.\n\0 \0 \0 \0 \0");
Play("qC2G3eFC2G3EqACDA",
"Has \0no \0fruit.\n\0 \0 \0 \0 \0 \0 \0 \0");
Play("C2G3eFC2G3EqACDA",
"Kill \0the \0root.\n\0 \0 \0 \0 \0 \0 \0 \0");
"$$FG,GREEN$$Be sure to bear 'fruit'.$$FG$$\n\n";
}
} catch
CatchAll;
Snd(0);
}
Song;
@@ -0,0 +1,20 @@
//7 no nothing
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("W13qEDeCC!etEAAqEetCDCA!!GFqG");
Play("EDeCC!etEAAqEetCDCA!!GFqG");
Play("eGEetFDAqF!sGF!GF!G!!FG!F!etBGFqGeDE");
Play("GEetFDAqF!sGF!GF!G!!FG!F!etBGFqGeDE");
}
} catch
CatchAll;
Snd(0);
}
Song;
+26
View File
@@ -0,0 +1,26 @@
//8 has words
U0 Song()
{
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music_tempo= 2.480;
music_stacatto_factor= 0.802;
try {
while (!ScanKey) {
DocClear;
Play("W13qDsCCCCeBBCCqDsCCCCeBBCC",
"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",
"$$FG,RED$$Oh, \0 \0 \0hi-\0a \0you!\n\0What\0ch\0u \0been \0 \0do\0ing?\n\0 \0");
Play("qAeB2G3GGqE2etG3F!B!eFGqFeEC",
"Oh, \0 \0 \0hi-\0a \0you!\n\0What\0ch\0u \0been \0 \0do\0ing?$$FG$$\n\0 \0");
}
} catch
CatchAll;
Snd(0);
}
Song;
Binary file not shown.
+186
View File
@@ -0,0 +1,186 @@
* Preempt-->cli
* Why is bitmap different from vector in $LK,"Logo","FI:::/SparrowOS/Accts/TS/TAD/Archive/Logo.TXT.Z"$?
* Hangs after pressing Compile MAIN in menu.
* Crashes after back-up-script. Went away maybe after spurious IRQ fix.
* Might be same as last one. Back-up-script cause jumps back and forth in ToHtml
* Music organ hangs when cursoring around.
* $LK,"DocUpdateTaskDocs","MN:DocUpdateTaskDocs"$() skips locked docs. $LK,"WinMgrSync","MN:WinMgrSync"$() needs to check.
* Why is wordstat so slow on "OldMasterBootWrite" for example.
* $LK,"Plain","MN:Plain"$() might be better not saving $LK,"CH_CURSOR","MN:CH_CURSOR"$.
* TRANSPARENT might not work with line ROPF_DITHER
* 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.
* unhandled exception on MP message gets overwritten by WinMgr
* Cmd to enable/disable compiler warnings
* make aware of ctrl-r side bar
* fix problem -- remembering 0 terminator in str or not for $$DA
* GetS, crazy putkey code
* editor page formatting
* $LK,"gr_screen_image","MN:gr_screen_image"$
>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
* CGrVectMap sucks
* 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 SparrowOSCD.ISO
$WW,1$
* Race condition in Navy.CPP.Z torpedo
* Logrep throw for out-of-mem?
* {Lock|Rep}{Seg|2E=NotBr|3E=Br}{OP}{ADD}{REX}
* Virtual Box MP reboot
* Std local var names
* EIE_ABS_ADDR 64
//After Egypt possible future ideas
//$LK,"Numbers,13:33","BF:Numbers,13:33"$ scouts
//$LK,"Numbers,21:8","BF:Numbers,21:8"$ snakes
GrEdit: Move sidebar selected elems.
- Be careful of multipt elems.
GrEdit: Strip origin shift cmds.
GrEditBitMap, grabscroll?
GrEditBitMap, cut/paste boxes.
extern of fun with dft arg of str?
* We kinda need a routine to return how much free memory, so that applications can plan a big alloc.
* FileMgr bad with lots of files.
* This $LK,"Fs->catch_except=TRUE","FF:::/SparrowOS/OSMain/TaskCmd.CPP.Z,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.
* Window mgr needs to do DOC operations on posted messages from mouse. Works for $LK,"SetIP","MN:SetIP"$(), though.
* Add local vars to sym table in $LK,"Dbg","MN:Dbg"$()? (maybe)
This shit:
$HC,"<object width=\"750\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/WAr-xYtBFbY?hl=en&fs=1\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/WAr-xYtBFbY?hl=en&fs=1\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"750\" height=\"520\"></embed></object>"$
* $LK,"Bible sized nodes","FF:::/SparrowOS/Adam/Doc/DocRecalc.CPP.Z,->tag+i"$
* Mouseinstall throws exceptions, doesn't work, investigate Mouse $LK,"0x9FC30","FF:::/SparrowOS/OSMain/KbdMouse/Mouse.CPP.Z,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
* Fix Mom's secondary CD-ROM, dad's primary
* pmtstr in install didn't like focus change
*$FG,2$U0 Main()
{
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.
* OVERSTRIKE at cmd line with menu macro.
* $FG,2$lock{}$FG$ warning on invalid modes.
* Local array vars-->reg.
* $LK,"DCF_SYMMETRY","MN:DCF_SYMMETRY"$, before transformation? (Currently it's after)
* all graphics clipping -- screen y+top<0 for top<0
* Maybe convert graphics to float
* compiler F32
* preempt(OFF) during graphic clipping?
* compiler optimization heap_glbls with added offset
* static_compile extern glblvar references.
* extern glbl var in static module on data heap.
* Might make FAT32 read in contiguous chunks.
* make Limit(),Min(),Max() asm routines.
* Might make CSprite flood fill operate on a separate bitmap and blotted at the end.
* autofile popup of popup
* <CTRL-R> delete subsprite in menu near others
* consider changing domenu so a real <ESC> on menu item doesn't select (<SPACE BAR> sends <ESC> followed by <SPACE BAR> or something)
* puts3 with depth buf? might not do this
* make task queins and querem safe for multicore cycling through tasks (fwd).
* make better heapwalk, do something with _CFG_HEAP_DBG.
* log to file--would be inefficient--load-in whole file, modify and write out. Useful, but not very efficient (SparrowOS 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?
* 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.
* New Editor widgets
* Make use of flag potential in SysFilesFind and possibly CFileAccess
* implement fixed pos files
* new C+ language features
* better debugging
* Change hardcoded stuff to Define
* Too much preemption turned off?
* Look for mem leaks.
* Move stuff out of OSmain.
* $LK,"ROP_XOR","MN:ROP_XOR"$ with pen_width>1 is broken.
* use width and height in line clipping for pen_width>1 or blot.
* SIMD transformation
* test removable media id (critical for resident files)
* add field overflow U8 "t='*'"
* Implement fmt codes into GetF
* GetF date codes and maybe $FG,2$h$FG$ fmts for nums
* Date Input
* Default date fmt
* 16 bit Unassembly is bad--very low priority
* more signed int disassembly
* support r4u8 by adding 0x40 byte
* static var off of data heap.
* Might want to use U32*U32 multiplication.
* could add "const" to not set LF_NOT_CONSTANT flag for trig, etc.
* do r,rm ICCmp like ICBrCmp
* could make glblvar imports use TY_RIP_DISP32.
* PUSH_CMP allocs reg R9 or whatever
* Might be problem with NOP in OPT pass1 for NO_PUSH in expressions besides assignments. Is ShiftNoPush fully implemented?
* NOP1 might need to have diff ic_data's
* in divequal, it assumes about ebx
* error/warning line nums
* ASM branch out warning of range off by 1 line--use lx->last_line_num
* Switch statement with sparse cases (low priority)
* maybe inline functions?
* Use of more floating-point stk?
* More aggressive in this routine $LK,"CmpF2PushPop","MN:CmpF2PushPop"$() with types besides MOV and F64.
* !dbl ~dbl
* &=, |= can overflow with Bts Btr on small data types
* num lock comes on with break key
* sort options for findfiles
* recalc_start could be more accurate before recalculating?
* Maybe, get rid of $LK,"0x20000","FF:::/SparrowOS/Compiler/CmpMain.CPP.Z,0x20000"$ in compiler.
* get rid of "$FG,2$$$PI$FG$" alias.
+8
View File
@@ -0,0 +1,8 @@
$TR,"Adam"$
$ID,2$$TR,"SparrowOS"$
$ID,2$$TR,"SysMsgFlags"$
$ID,2$sys_msg_flags[0]=0x255;
$ID,-2$$TR,"SysRegVer"$
$ID,2$registry_version=1.020;
$ID,-2$$ID,-2$$ID,-2$$TR,"SparrowOS"$
$ID,2$$ID,-2$
+53
View File
@@ -0,0 +1,53 @@
#define STEPS 360
U0 DrawIt(CTask *task,CDC *dc)
{
F64 x1,x2,y1,y2,radius,peddles,é,t=tMBeat,
cx=Fs->win_pixel_width>>1,cy=Fs->win_pixel_height>>1;
Bool first=TRUE;
radius=100*Sin(2*ã*t)+150;
peddles=ToI64(t/8%4)+4;
dc->color=BLACK;
for (é=0;é<2*ã;é+=2*ã/STEPS) {
P2R(&x2,&y2,radius*Sin(peddles*é),é+t);
if (!first) {
GrLine(dc,x1+cx,cy-y1,x2+cx,cy-y2);
} else
first=FALSE;
x1=x2; y1=y2;
}
dc->color=(t)%16;
for (é=(2*ã/peddles)/8;é<2*ã;é+=2*ã/peddles/2) {
P2R(&x1,&y1,radius/2*Sin(peddles*é),é+t);
GrFloodFill(dc,x1+cx,cy-y1);
}
}
U0 SongTask(I64)
{ //Song by Terry A. Davis
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
while (TRUE) {
Play("W13eGGsGGeGGGe.GeCDsEDeCBAe.AeG");
Play("GsGGeGGGe.GeFEsDEeDCBe.AeFD");
Play("EDFDEDECDCECDCsGGeG");
Play("GG2hG3sGGeGGG2hG");
}
}
U0 Rose()
{
SettingsPush; //See $LK,"SettingsPush","MN:SettingsPush"$
Fs->song_task=Spawn(&SongTask,NULL,"Song",Fs);
WordStat;
WinMax;
DocClear;
Fs->draw_it=&DrawIt;
PressAKey;
SettingsPop;
}
Rose;