home bbs files messages ]

Just a sample of the Echomail archive

Cooperative anarchy at its finest, still active today. Darkrealms is the Zone 1 Hub.

   CBM      Commodore Computer Conference      4,328 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 2,952 of 4,328   
   Harry Potter to All   
   Help needed debugging TmpCreat128!   
   23 Dec 19 11:32:37   
   
   INTL 3:770/1 3:770/3   
   REPLYADDR rose.joseph12@yahoo.com   
   REPLYTO 3:770/3.0 UUCP   
   MSGID:  f37a9c8e   
   PID: SoupGate-Win32 v1.05   
   Hi! I have yet to find the bug with my Template Creator 128 program. The Add   
   Template module seems to work up to the call to Fields. The debug code I placed   
    just after the call seems to run. But then, it does not display the New Format   
    prompt--even    
   though it is supposed to, as it is a new template disk--and displays an Insert   
   Templates Disk message. I insert it and get the C128 Monitor. The PC is at   
   F4433, where there is no code there. Following is the erroneous code:   
   -------------------------   
   void tmp_add_main (void)   
   {   
   	//unsigned char i;   
   	//unsigned char /*i,*/ j;   
           //char c;   
   	//struct dbentry* cur;   
   	//bzero (&tmp_db, sizeof(tmp_db));   
   	//bzero (&input, sizeof(input));   
   	//cleardb ();   
   //bordercolor (0);cgetc ();   
   	//bzero (&input, sizeof(input));   
   //bordercolor (1);cgetc ();   
   	instmpdiskp();   
      
           tmpdb_open ();   
   //bgcolor (2);   
   	/*curtemplate.name[0]=*///input.fmt[0]=0;   
   	//fName.data.text=curtemplate.name;//input.name;   
   	fTmp.data.text=input.out;//input.tmp;   
   	//fType.data.sel.sel=(cur->filetype=0);   
   	fType.data.sel.num=4;   
   	fType.data.sel.values=filetypes;   
   	//input.type=0;   
   	fType.data.sel.sel=&input.type;   
   	//fFmt.data.text=curtemplate.fmt;//input.fmt;   
   	//FillFmt();   
   	i=fFmt.data.sel.num=input.fmtnum=input.type=0;   
   //bgcolor (3);   
   	for (; i<8; ++i) {   
   		//if (tmp_db.usedfmts&(1<>i)&1) {   
   			//usedfmts[j]=tmp_db.fmts[i];   
   			//*getfmt(fFmt.data.sel.num)=getfmt (usedfmtsnums[fFmt.data.sel.num]=i);   
   			usedfmts[fFmt.data.sel.num]=tmp_db.fmts[   
   (usedfmtsnums[fFmt.data.sel.num]=i)];   
   			//usedfmtsnums[j]=i;   
   			++fFmt.data.sel.num;   
   		}   
   	}   
   //bgcolor (4);   
   	if (fFmt.data.sel.num<8) {   
   		//*getfmt(fFmt.data.sel.num)=snone;   
   		usedfmts[fFmt.data.sel.num]=snone;   
   		++fFmt.data.sel.num;   
   	}   
   	//numfmtsavail=j;   
   	//input.fmtnum=0;   
   	fFmt.data.sel.sel=&input.fmtnum;   
   	//fFmt.data.sel.num=numfmtsavail;   
   	fFmt.data.sel.values=usedfmts;   
           //cclearxy(i=0,23,39); cclearxy(0,24,39);   
   	i=j=input.tmp[0]=input.out[0]=0;   
   	//clearline (23); clearline (24);   
      
   	//gotoxy (0,24); prints ("Insert template disk...");   
   	//cgetc();   
   	//promptdisk (instmpdisk);   
   	//for (; i<32 && (tmp_db.usedentries[i>>3]&(1<<(i&7))); ++i);   
   	//for (; i<32 && *(unsigned long*)(&tmp_db.usedentries)&(1<>j)&1; ++j);   
   	if (j==32) {   
   		//gotoxy (0, 23);  printscr ("Template disk full!\n"   
   		//			  "Press any key to continue...");   
   		///cgetc(); return;   
   		promptdisk ("Template disk full!"); return;   
   	}   
   	//cur=getdbent(j);//&tmp_db.entry[i];   
   	//fName.data.text=(cur=getent(j))->name;   
   	//fName.data.text=(cur=getdbent(j))->name;   
   	//cur=getdbent(j);   
   	//cur=getent(j);   
   	//input.type=0;   
   	//fFmt.data.text=&(cur=getent(j))->filetype;   
   	fTmp.data.text=input.tmp;   
   	fName.data.text=input.out;//cur->name;   
   //bgcolor (1);   
      
   	if (dialog(&fInTemp)) return;   
      
   bgcolor (3); cgetc ();   
      
   	cur=getent(j);   
   	//strcpy (cur->name, input.tmp);   
   	//cur->filetype=input.type;   
   //bgcolor (3); cgetc ();   
   	if (!strcmp(usedfmts[input.fmtnum], snone))   
   	//if (usedfmts[input.fmtnum]==snone)   
   	{   
   //bgcolor (4); cgetc ();   
   		for (i=0; (tmp_db.usedfmts>>i)&1; ++i);   
   //bgcolor (5); cgetc ();   
   		gotoy (17);    
   //bgcolor (6); cgetc ();   
   		printf ("\nNew format name");   
   		GetInput (getfmt(i), 17);   
   		tmp_db.usedfmts|=1<fmt=i;   
   	//gotoxy (0,24); prints ("Insert input disk...   ");   
   	//cgetc();   
   	promptdisk ("Insert input disk...");   
   	//strcpy (curtemplate.name, input.tmp);   
   	//strcpy (curtemplate.fmt, input.fmt);   
   	//sprintf (fi,"0:%s,%c,r", input.name, filetypes[input.type][0]);   
   	//strcpy (curtemplate.name, input.tmp);   
   	//strcpy (curtemplate.fmt, input.fmt);   
   	//j=filetypes[input.type][0];   
   	//sprintf (fi,"%s,%c", curtemplate.name, filetypes[input.type][0]);   
   	//sprintf (fi, "%s,%c", curtemplate.name, j=filetypes[input.type][0]);   
   	//sprintf (fi, &qfilename[2], curtemplate.name,   
   j=filetypes[cur->filetype=input.type][0]);   
   //cputsxy (0,1, fi); cgetc();   
   	//cbm_open (filenum, 8, CBM_READ, fi);   
   	//openfile (CBM_READ);   
   	//openfile (curtemplate.name, CBM_READ);   
   	//openfile (cur->name, CBM_READ);   
   //promptdisk (input.tmp);   
   bgcolor (4); cgetc();//   
   	openfile (input.out, CBM_READ);   
   bgcolor (2);   
   #ifdef __C128__   
   	cur->size=/*curtemplate.size=*/bank1_cbm_read(filenum, 0x400, 0xF000);   
   #else   
   	cur->size=/*curtemplate.size=*/h_cbm_read(filenum, templatedata, 0x9800);   
   #endif   
   	//cur->size=h_cbm_read(filenum, curtemplate.data, 32767);   
   	//curtemplate.size=cbm_read(filenum, curtemplate.data, 32767);   
   bgcolor (3);   
   	cbm_close (filenum);   
   //chn15();   
   //clrscr(); printf ("size = %d\n", curtemplate.size); cgetc();   
   	//if ((signed) curtemplate.size<0) {   
   	if ((signed) cur->size==-1) {   
   		//gotobottom (); puts ("Error loading template!");   
   		//cgetc(); return;   
   		promptdisk ("Error loading template!");   
   		return;   
   	}   
   	//if (curtemplate.size==32767) {   
   	//if ((int)curtemplate.size<0) {   
   	if (!cbm_k_readst()&0x40) {   
   		//gotobottom (); puts ("Template too large!");   
   		//cgetc(); return;   
   		promptdisk ("Template too large!");   
   		return;   
   	}   
      
   	//strcpy (tmp_db.entry[i].name, curtemplate.name);   
   	strcpy (cur->name, input.tmp);   
   	//strcpy (cur->name, input.tmp);   
   	//cur->size=curtemplate.size;   
   	cur->filetype=input.type;   
   	//tmp_db.usedentries[i>>3]|=(1<<(i&7));   
   	__asm__ ("\tlda\t_j\n"   
   		 //"\tpha\n"   
   		 "\tand\t#7\n"   
   		 "\ttay\n"   
   		 //"\tpla\n"   
   		 "\tlda\t_j\n"   
   		 "\tlsr\n"   
   		 "\tlsr\n"   
   		 "\tlsr\n"   
   		 "\ttax\n"   
   		 //"\tlda\t_tmp_db+17,x\n"   
   		 "\tlda\t#1\n"   
   		 "\tcpy\t#0\n"   
   		 "\tbeq\t@zz12\n"   
   		 "@zz11:\n"   
   		 "\tasl\n"   
   		 "\tdey\n"   
   		 "\tbne\t@zz11\n"   
   		 "@zz12:\n"   
   		 "\tora\t_tmp_db+18,x\n"   
   		 "\tsta\t_tmp_db+18,x\n"   
   		 );   
   	//*(unsigned long*)(&tmp_db.usedentries)|=(1<name, CBM_WRITE);   
   //printf ("ST: %d\n", (unsigned) cbm_k_readst()); cgetc();   
   	//h_cbm_write (filenum, curtemplate.data, cur->size=curtemplate.size);   
   #ifdef __C128__   
   	bank1_cbm_write (filenum, 0x400, cur->size);   
   #else   
   	h_cbm_write (filenum, templatedata, cur->size);   
   #endif   
   	//cbm_write (filenum, curtemplate.data, curtemplate.size);   
   //chn15();   
   	cbm_close (filenum);   
   }   
   -------------------------   
      
   --- SoupGate-Win32 v1.05   
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)   
   SEEN-BY: 1/123 15/0 2 19/36 34/999 90/1 104/115 106/201 114/224 702   
   SEEN-BY: 114/705 706 116/18 123/140 128/2 73 187 253 153/7715 218/700   
   SEEN-BY: 222/2 226/16 227/114 229/101 275 354 426 1014 230/150 152   
   SEEN-BY: 240/1120 5832 249/1 206 307 317 400 250/1 261/38 100 266/512   
   SEEN-BY: 267/155 275/100 282/103 1056 291/1 111 298/25 305/1 3 310/2   
   SEEN-BY: 312/2 317/3 320/119 219 322/757 340/400 342/13 200 396/45   
   SEEN-BY: 640/1321 712/848 801/161 189 2320/105 3005/1 3634/12 5020/1042   
   PATH: 770/3 1 712/848 261/38 15/0 317/3 229/426   
      

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca