[comp.os.minix] ems_wini.c -- quasi disk driver using J3100/T3100/T1000 EMS-memory

nemossan@uitec.ac.jp (Sakurao NEMOTO) (10/08/90)

	This is a quasi hard disk driver for use on the TOSHIBA
J-3100SS book typed computer soled as the 'DYNA BOOK' in Japan.
This is almost the same as T1000/SE sold in the US/Europa, and "J"
may be Japanese-version supports Japanese-Kanji. This computer
(Japanese-version) provides one 720K/1.2MB floppy drive and from 1.5MB
to 3.5MB battery backed up RAM which is used for the EMS memory
or the 'HARD RAM' emulating hard disk. Unfortunately we don't know
the detailed specs of the 'overseas version' of this computer, but
we hope help will be given by someone who ownes some equivalent.

	This device driver replaces the kernel/wini.c of Minix1.5
by using the EMS memory as a 'Hard Disk device'. With the 1.2MB
floppy disk and this 1.5MB to 3.5MB quasi hard disk drive, we
successfully re-compile all the kernel components and commands
with little effort.


	There are two additional problems on J-3100SS as follows.

a) The J-3100SS is one of the pc_clones but this machine provides
	with AT_type floppy drive instead of XT_type. This leads
	to some conflicts in kernel/floppy.c.

b) The floppy drive used in J-3100SS also needs some settling time
	after head seek movement. Without these patches, we are
	frequently encounterd read errors after writing data. That
	is, we *CANNOT* make new boot diskette with J-3100SS itself.

So we include two patches for these problems.


	The installation procedure for this driver is as follows.

0) Secure appropreate size of EMS memory using 'setup' program
	supplied with MS-DOS in J-3100SS. The rest of EMS memory i.e.
	the 'HARD RAM' will not be touched by this driver. The all
	informations in the HARD RAM are alive with Minix1.5 using
	this driver. We recommend setting the HARD RAM size to zero
	if possible. The larger memory make easier all the things in
	Minix. Of course, if you use the EMS memory in MS-DOS,  Minix
	file sysem in EMS memory will be lost.

1) Copy ems_wini.c to kernel/wini.c.

2) Apply two patches to kernel/floppy.c

3) Re-compile kernel and make boot_diskette.

4) Boot Minix1.5 with new boot diskette.

5) Execute mkfs on adequate device one of the /dev/at0, .. at3.
	These devices are basically same. Only difference is its
	size checking. Please select appropreate device with your
	memory size. The /dev/at3 will fit to all possible memory
	size.

	Because the reason b) mentioned above, we must use some other
machine which can run Minix1.5 from step 1 to 3. Once we can
succeed in booting new kernel in J3100SS, we can all the things
that we wish.

	You can include this mechanism into /dev/ram to expand RAM
disk and both EMS memory and hard disk drive in other J-3100 (T-3100)
machines. We wish you can get the rest of this story from the source
code itself.

	Please enjoy this little program.

			k.h, nemossan and supisupi @ MIX.

PS	Some of our friends are in preparation with some SCSI drivers
using the 'TOSHIBA J3100-SCSI1 board' and hand made SCSI board. If thre
are much interest, we will post it in ready.
---------------------------------------------------------------------------
table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 emswini.shar.Z
M'YV-9<:@>0,"#X@6(,JTF?/E3AHW:5R,43"G#!D0)UYXP?)BSHN/)T#X2+BPz
MX<.(8T#PX('QQ0D%'%6 H((FS1P09M*P*0-BS!LW=,(\O$D'#<\F29PDP1+#y
M10T0<>J$F9,&!!(B(,C(26.GC)R;9M[( :%D1@P8,*9, 5&DR=HV"L7F<0$3x
MA(H$+\B4L?,"#1D8"1!.">J&3!@Y%^&VD0L"CE@Z(%#@R&$#Q!(A*>ABL8M7w
M+U^_,0*#&!RF\.'$<>7D:?PX<@P:,'!8QJR9<]Z]?<G($%T$#YTRA2V"4,S8v
ML1S(*&* :$(;1-V[MS^3F<';-W"]J!>K9GT\LHSEM)\_GVDTZ]:N8^?4@6.<u
M#M'R8=FP>>/0S1D0;^!X#4,GS<^;*-1!E7W#E3'''&&<P5-8<K3!WW RI*"#t
M>)O)!,*%;7Q!1Q[Z7>@A"$0484420Q3Q(112/#'$%TY(\2$(0SQ1A1-4G/C$s
M%$E0D<033EP8!!%22%&$6N.U8.212":IY)),-NEDD^/Q<2$124RQQ!="_@B"r
ME)ZE,09/6S8FQQLIN3&6E""(D<=O-X6)GQEF5 29E&+4849C=)P9Y9,MK-"Dq
MGTP"NJ2@2A*:)!]1@ECEE5=(D:.)7.[E)9A2PC%FF6=>J":;%Z+Y!IQRAEGGp
MG7#DN>6>3QJ*I*I'LFJDJWTVB6B%6TXQ1!!44%&$D$1\L6.D=DS:*7>8ABE'o
M&5$9^!N:+P[KGQUXZDDKG]16:ZV3%-I%WH(Z\>034$*Y<=-// &7YVJ./43'n
MA!6.=V%] BGKE893K:%# @X^E!!0V]UAE!L@S)'''+^U 8)-:8Y9QQEH0+9>m
MMC)=L14=OP&LIF4N()&&'&&($48>4]64YE3"_01"43REH5<8.(UIL!MQ'5@:l
M"P&O40?';; PGGIPV+1>&D @A84+2"DU]',OP 33" ^-P48=>H$@PAI>P<R&k
M"VB(L'333T?-0QLGX?'"&&'(9R;6/FSMAM-0\_1UV&._T0;:2F,!115",$'Bj
MP4"!(.!#9WPAAG\W]0""$4$P,441.^ E4U$(:\655UF]82 (;KSA<$4GER?$i
MCFNID#062^N5$\P@M/A%6VHED$"S(-#@^'!AX)%&&W4 [$8=;8A!^:?F3?Z5h
M7:./8/I#/+'^!11!'%'$%SAJ4<3K(," !VQHS<YZ8PGR1)4>/"57V64I$%\Wg
MBDE8@:N)\Q&H$$/?E[%%%R 8O@<(.-00 V4XT/P:#3&X00YDX+\<H*4&-* !f
MS620 QKD( 8R@ $(^K #F*!/?;KRF[C2< :87>1]7VC/_.H'@OM93P8UZ%_Ue
M\(!"%9XP-C1[H6PH:$%'8=!$<)&9@@ITH,;-+H<(VN&HS$ YT=7-"$^0PA6"d
M( 6LJ*MR7W@?"E)002P@48E,=&+?WG<2.DRQBC!Y@0IZ0,8RFO&,:$RC&M?(c
MQC:N407/<5T"X&44@GD%!:Q+ ;WFL 8Y4L]#,GF.&P=)R$(:\HQ&M!O>]#8$b
M$-CA#2H# 1WE)8<]KF&*,-E#&&72A'")Z0UGP-F;.L<3,MAD#<%#S\GJY0+Sa
MD6XS?(.,'&A&-OEXA6:6(M,7S 1&6(H1!$F 2'_*E@;P=0YA0>%C*Q-Y(2X*z
M\XMUN] OD>"5E+V')_D"V'SR,TJ4L<4MJU1F74#PRR1 Y@Y"<0].Q ("E@&Qy
M>[0\S%8NEP;(O*$.=*!9:2Y2D<+<A&7'@@,;YC).5[ZK)CN)#!6D4(4BE$^3x
M6)B=$39&,$FF<YUC 2BRZJ"LDQ'D6&&X"#OO,+$R+'-T"3C6ER:'@B X(0LTw
M,P$0J0B3!*3A3B@ H@LR-(=[RN%+*JE>"FJ: #B4QDLH$,'VB+.=9*+R#)KCv
M81 7Y#*IT4RG//7IEV@:T5KN9"R&P^H7>GJS+U6QJ)?:)5BEZ@(4J8A%4NCEu
M[)Q GY[(<S7WA(PW[R"6-;02F)#1BW[\B1^ >3,_/M'+26LZ!X?002 Y-= <t
M=JHA#I7AH37]$-DX1R4K8:D(/[K76LGPAB@N! 4RE2P5$R &D*[AK)HEF:(\s
MVZA'B9:$I#7M'% [T\:UM@QA>&UF/;19GM@*5[KBE:^><%O#Y=8.B+F#%U-[r
M()KE]GU43!APA1O1#YDN#'5@P[I<M]8B)$5]3/#A;X-[UC[43:(/*=M <1G0q
MP_!DGP&[#BE!$-"!2K5[BXVH6#?4(<-1(0B>%1(4F)"%L^I4P<M+T8I:1,)<p
MCD&M#I:L"R \A0-3H0IK,9P<SMI/,J# J[<$ 77GP-4+N1<++ZZ;& ])XQK;o
MN =PK) ?K[L0/_[Q0H&LT(V'3.0WCNZ"ZXLE%*68H5+)8:A8.-89;/*;L;QSn
MARIH<IX:]\MT 85R=/@H<$4Z%I+6$YN2[9XK(?I+*8P9/V4NZ3??DIJYN'*<m
M3^S2EVAY3Z#@$IYOBE,9\LD=.E3Q0G! P\ $MZ;+*2:$BIX#S00TKT0/K)?2l
ME,D1!CV<A[!3SSS97>^\$N +@9J$6I9#"WP0HA&5Z- 'P^FI62)!/@!+6#XPk
MG.I8-P4HIW30-W,#'IV A1VM]I<>2XRGQW+J1([SET,PRAA0N;V0:D6R[2Q,j
MP(II4H/&.C*I7C44;I2C'?6(UN4[%AV"/>QB/Z'%W\YI"/,D;G+KB$<B,1P(i
MX[<%4'?!U^IF-PS@[9/<02:L\U:U#V(T(RK ^J;R=G*]<73O'JV@)WV&3*Y)h
M C]N]UM27_IW30O>-WV7A-_^/LAP$C[Q<O,(T^24"1$&[16PH<[:QSJ0)(URg
MK*SPAV7() A4X>Q1C,.E97(KM=\J4DE+%PYSO L#'").;Q^X=<)2H!D*@E7)f
M31FH?.'VP8^ -*0IZ"RB6]\8H]E4/I+3 =XWC0REFQ[I^AENX/P%MAR$_3PAe
M_.@+8Y<"5Y\MDR'D9S7>-$Q0E&[4'2)<XE:WM[G).>?E->]YT6/<.#\EZ(.Od
M'/+CIOCD2U!YYCD/>DF0'JS;0T(0BM#?,,_KVLN @O;$$ \XJ#7W%'1LF0"Gc
M8PEE9H&:7/>[XX$(:$$+$T!P<<[+Z>$X?;33F8]Q@XMDA43 WL!K:BEUF2&Ib
MVQ-#GPVS':^,20XZ $$)V( 'FI4 #UQP@PBNJA!(#XS/!L^N<V 9=ZHK/$,$a
MQA-D-%M7DB5$X&M.]P4^ 0=Y$%G$=W]+5VF1IG7M<P9MEW'P5@9L4!'<%VD*z
M>'@!PG3V)VG#-X(4^!,66'U  6^RYW6U]QA_QGM<)A.FA"!B$'RC,TX!MW<Gy
MAH%5%&-V8T-)ECM4T4'"\3XB1#_V,TXR='LR$ /] P,Q-(4KU$).: ,N='87x
M(H75XX1AX$(L) 99V(556 8N!!,T]$I(ED'.5$^8A 40=2%/E :]]$M3 &QPw
M,&?M- 9?HG-)\ )/4&C9EAV,$3^3Y6TMV&@H8#U%4 2W5P,#-X-[V(<W002Xv
M$@0@("1'X (2)'Q583@/,7N+B =%8 096!(B! -*R'$A]!A;$ .KB(2N6!4Fu
ML$(P8 1= &N)^!NCV(B/& .]-XG89HD'EHE%L(G*X8DD%(HNR(BF^' DA (Ht
M0(LK- .FJ'(1HBTV0 /0%QE5L7$29 *U6!4\8#B380.^MF\>IXHD=([+)Q,Hs
M4($I(!F4H7)I '<X]8UWIV+CJ!*&\QJQD8XGYW&P2$)G(0,T\(Z1(8_) 1NRr
M@1#WJ(OX)(J,Z(@K5 ,1(HEAP(?#>(G&N(G?H8R@Z 8428K/.$ZNYXHR$(NHq
MZ(HSP))S($+4:#VWF(N;-Y'-2(H6:3TU, /!N)&4""(>J8DN, />]HE\4Y*Ep
M"'?1.)-X8(WE(Q/;V(W3F&_5PX\'XX\@<) T() =!SY;L)(&"0,(J9#QB(+So
MR)7VB(_>:)7AV(_E" (11 ,XX)5CY7$O.99EJ2UG:1_S.)</>3!<Y5Y)$Q #n
M41 J9P;SP1YS,0:F9 84(1P9L1$=\1$N<7V*F1\,*!&/J1(LD1$O@04J,)H@m
MD$1'D)F,*1$)T 0FHP2Y(Y=/\1HZ@$ Z( ,WL)4Y8$ P<20XL9B;.0:K:3)/l
M, :0@3];"0,Z()LT4!G[HYNB.9K0&9W2"1/0"0(S,!DL, ,Y\!31.4X)\&(7k
M4E"S<X=Z51Z*!U#\P1.)% (@8%,X!0<7QA_ELXNT9P1$L")2L#XTPS&_T6__j
M!FO>^4MT=0?YY3!YZ$U$T 28*!!I  =*EP!DX"!CA8<H8 9PP%6\>9TYD)W;i
M>1!'XIW@N7\>,IZ<EG@_QU_IZ4KL.3O]!Y]?()_$@Q\XJ8CVB9_ZB:+]20;_h
M.4X!*A,#6J!^<Z#ED: +6A,.ZFT0*J%RLAX5>J%5))U0VIW/*1,(5 ,L4 /Zg
M8Q?065#Q-A8A8#A/L 3EXYW]IU+$U%KIV:3E\Z6E*:9YMVX\N"M2 #V-**:Pf
M=B$6NFJ*J8!EE0=L$(U@!:9+  (_@!-PH*=LH(!^^A!Z,1;IUP+ 6$7L*8<Xe
M%:AMBI72>!$#B(Y;(B4HH*F&XY,I\%"_-&5= 0)&$5(G<SL\$68%2@<)93(Sd
MX!1(ZC1DL@9? $0H0$#Y51BYJEJP]FLKU14H, 1,H")+$%.]Q:4OQIM5>J59c
MBB1<6J8@P*9A.J:PY)Z18:9LD 9HRHL6NJ:"FFYZQW=!0J=%8*=<FJ<^L*=Cb
MT*=_:C@H8*EA2JB&BJB*VJW!X:@'$:DP,:E=:G>7^DOB&!F?*K"<:FN1 :K6a
M.:HQ2JHR8:H\D:H7T1]'YZIR JL\(:NT*GP)8*O3]JL'LJLT4V(BRV+!JE)Ez
-P%+&BJS*"JS,J@!) Q]'y
 x
end
--------------------------------------------------------------