<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>
 
slight Usage and Skills
no longer...
 
initial setting for ampliated pc
Simple tips here are just commonality, and just samples.
I recommend to modify for gearing up for your own system.
 
regarding major and measured softwares to my knowledge
I would introduce some of major and measured softwares simply.
 
for RTC-72421(-62421 also)
Utilities for the RTC are compliant with the paper which I wrote
on the other page. That confines the hardware.
 


initial setting for ampliated pc
Ampliated Slot_1: and 2: are cognized automatically by the system, but Slot_3 is not. Then, when you extended Slot_3: you should re-write some parameters of system and make the Slot_Header. Following code would do both of them due to input the outset address and the last address of the Slot_3:.
10 input "outset address : ";oa
11 input "last address : ";la
20 s$=right$ (("00"+hex$ oa),5)
30 s1=val ("&"+mid$ (s$,4,2))
31 s2=val ("&"+mid$ (s$,2,2))
32 s3=val ("&"+mid$ (s$,1,1))
40 m=int ((la-oa+1)/2048)
50 poke &bfc09,s1,s2,s3,m,0,1
60 poke oa,&10,&12,m,0,0,1,0,0
61 poke oa+&08,0,0,0,0,0,0,0,0
62 poke oa+&10,0,&20,&18,0,0,0,0,0

If you had extended SRAMS by the paper, you should input &10000 as outset address and &2ffff as last address

I'm supposed to write how to set user_area (machine_language_area) at first by right, cause the setting triggers to reset the system.
Following code would secure user_area due to input outset address.
10 input "outset address : ";oa
20 m=&bfc00-oa
30 m$=right$("00000"+hex$ m,6)
40 poke &bfe03,&1a,&fd,&0b
50 for i=0 to 2
60 z$=mid$ (m$,5-i*2,2)
70 poke &bfe06+i,val ("&"+z$)
80 next
90 call &fffd8

If you had extended SRAMS by the paper, you could input figure, e.g.&90000 or &a0000 ..., as outset address. That's wide area

Following code enables RS232C serial communication.
10 poke &bfd35,0,&ff,0,&50
20 open "com:****,n,8,1,a,l,&1a,x,s"
   (**** is figure of bps)

When you've done clock-up, you might have come to need change the time for auto-poweroff. Following code could change it due to input the rate.
10 def=&04b0:chk=-1
20 input "input the rate : ";rat
30 if rat<0.01 then print "too short":chk=0
40 if rat>&30 then print "too long":chk=0
50 p$=right$ ("000"+hex$ (rat*def),4)
60 p1=val ("&"+mid$ (p$,3,2)
70 p2=val ("&"+mid$ (p$,1,2)
80 if chk then poke &bfcbc,p1,p2:print "the time has changed"
   else print "still default..."

I commend to put them together with a menu, and add some small utilities for the first initialization after overdrive or all-reset etc..
 


regarding major and measured softwares to my knowledge

'VOGUE'
VOGUE is an event driven multiple processing compiler in the style of C-language.
If I had not known it, I would not have used the puter at present. My puter could be a sort of sketch book for me due to VOGUE.

'HMFiler'
HMFiler is an excellent filer, just like 'Filmtn' or 'FD' on DOS, included various functions.

'FE'
FE is a regular assortment editor.

Although there are lots of excellent softwares and funny ones, I rare try and use them simply. Break for the day, anon I would introduce more.
 


for RTC-72421(-62421 also)
Other circuit or assignments of addresses would need other utilities. Tips here compliant for specifications on the paper. 0x00 - 0x0f are assignment to 0x1000 - 0x100f (0x1**0 - 0x1**f, tautological assignments, in fact).
I provide utilities for the IC's exclusive use, and modified the device driver named "CLOCK:" for the IC. The device driver was programmed by Mr. Narihito Kon for general purpose toward applications meet the specifications. Despite this, the reason, why I made a utility for exclusive use, is only because data registers would be broken due to operate the 12/24 register, that fuction must be removed from the driver for the IC, and so it was needed.
Following function(written for VOGUE) initializes the RTC. The detail are in the data sheet.

	func char ini_rtc (char mode):
	char i;
	{
	  if (mode) {
	    @(0x100f)=1; @(0x100f)=4;
	    i=0;
	    do {
	      @(0x1000)[i]=1;
	    } until ((i+=1)>0xc);
	  };
	  @(0x100d)=4; @(0x100e)=7;
	}

When the data in register are illegal the mode should be 1, For ordinaly use the mode should be 0. For an example, following function returns intenger as the mode.

	func char chk_dat:
	char chk, i;
	{
	  chk=i=0;
	  do {
	    if (@(0x1000)[i]&0xf>9) chk=1;
	  } until ((i+=2)>0xa);
	  if (@(ox100f)&0xf!=0x4) chk=1;
	  if (@(0x1001)&0xf>5) chk=1;
	  if (@(0x1003)&0xf>5) chk=1;
	  if ((@(0x1005)&0xf)*10+(@(0x1004)&0xf)>23) chk=1;
	  if ((@(0x1007)&0xf)*10+(@(0x1006)&0xf)>31) chk=1;
	  if ((@(0x1009)&0xf)*10+(@(0x1008)&0xf)>12) chk=1;
	  if (@(0x100b)&0xf>9) chk=1;
	  if (@(0x100c)&0xf>6) chk=1;
	  return chk;
	}

And then, next code is in the begining.

	ini_rtc (chk_dat);

Tentatively, function 'adj_men' as a menu for adjust the data and function 'op_scrn' as output the data to std (screen) are prepared, and 'adj_men' returns key_code also. follow as

	func char prcs_mn:
	{
	  while (1) {
	    if (adj_men==13) {
	      cls; break;
	    };
	  };
	  cls;
	}
	 
	func char prcs_os:
	pnt dia_a;
	{
	  dia_a=sbrk (76);
	  diary_s (dia_a);
	  while (1) {
	    op_scrn (dia_a);
	  };
	  cls;
	}
	 
	/*  main function
	*/ 
	{
	  cls;
	  ini_rtc (chk_dat);
	  fork (512);
	  if (pid) prcs_os
	  else prcs_mn;
	}

Complete source codes of this utility and the modified device driver are downloadable on other page. I use this utility registered to 'HMF'.