Page 2 of 4
Posted: Sun Jul 24, 2011 10:49 am
by HouseHarris
I have, here at House Harris, done more work on Symbiosys after a six month break. When I left off I needed to remake the Symbiosys File System (SFS1) format command which I completed and expanded in concept so it can create any number of filesystems on the IDE disk. These manifest themselves as being similar to CPM "user areas". These user areas can be addressed from the command line and are effectively additional directories. Though not a hierachical filesystem as such I do plan to write in some kind of pathname database that will resolve symbolic pathnames to user area numbers.
so you can now issue commands like...
Code: Select all
# : <----- user area command
: 0004 <------ tells us we are in user area 4
# ls *
ls
21-07-2011 19:21:16 2000 15C3 01 :lsof.bin.rae
21-07-2011 04:13:41 2000 13F3 02 :fclose.bin.rae
21-07-2011 04:14:17 2000 1440 03 :fgetsec.bin.rae
21-07-2011 04:15:05 2000 13C5 04 :fopen.bin.rae
21-07-2011 19:27:49 2000 1B1C 05 :cp.bin.rae
21-07-2011 18:25:49 2000 1EEA 06 :raepatch-V.rae
21-07-2011 18:28:27 F000 0269 07 *raepatch
21-07-2011 19:19:10 6000 0081 08 *lsof
21-07-2011 19:25:40 6000 01FB 09 *cp
# : 3 <--------------change to user area 3
: 0003
# ls *
ls
05-07-2011 17:24:33 2000 25EB 02 :stdlib-V.rae
07-07-2011 00:19:26 2000 0CFB 03 :cli-V.rae
26-06-2011 01:11:07 2000 1E03 06 :raepatch-V.rae
28-06-2011 19:18:36 2000 1EE9 0A :line-editor-V.rae
05-07-2011 18:07:07 2000 2646 0B :extcommands.rae
29-06-2011 03:28:36 C003 052B 0F ^extcommands.pac
05-07-2011 15:28:57 2000 2D39 11 :excommands.ex.parsfn.rae
05-07-2011 15:55:02 2000 0183 10 :lib.parsfn.rae
06-07-2011 00:55:17 2000 24ED 13 :commands-V.rae
06-07-2011 18:20:35 2000 22F2 14 :commands-V.rae
06-07-2011 19:20:50 2000 00FB 19 :supermon.h
07-07-2011 02:09:34 9000 0FFF 0D %symbiosys.V.2011.07.07.img
20-07-2011 22:43:03 2000 32C0 1F :bdos-V.rae
21-07-2011 18:53:36 2000 20CE 1C :commands-V.rae
21-07-2011 01:38:12 2000 0460 1E :files.h
21-07-2011 21:07:48 0000 0000 01 %gort
# ls 4:* <----------- Listing of user area 4
ls
21-07-2011 19:21:16 2000 15C3 01 :lsof.bin.rae
21-07-2011 04:13:41 2000 13F3 02 :fclose.bin.rae
21-07-2011 04:14:17 2000 1440 03 :fgetsec.bin.rae
21-07-2011 04:15:05 2000 13C5 04 :fopen.bin.rae
21-07-2011 19:27:49 2000 1B1C 05 :cp.bin.rae
21-07-2011 18:25:49 2000 1EEA 06 :raepatch-V.rae
21-07-2011 18:28:27 F000 0269 07 *raepatch
21-07-2011 19:19:10 6000 0081 08 *lsof
21-07-2011 19:25:40 6000 01FB 09 *cp
#
# date
date 24-07-2011 19:41:17 est
#
So at that stage logical next step was to create a copy command to move files into the other user areas.......
Code: Select all
# cp stdlib-V.rae 4:
cp
# ls 4:*
ls
21-07-2011 19:21:16 2000 15C3 01 :lsof.bin.rae
21-07-2011 04:13:41 2000 13F3 02 :fclose.bin.rae
21-07-2011 04:14:17 2000 1440 03 :fgetsec.bin.rae
21-07-2011 04:15:05 2000 13C5 04 :fopen.bin.rae
21-07-2011 19:27:49 2000 1B1C 05 :cp.bin.rae
21-07-2011 18:25:49 2000 1EEA 06 :raepatch-V.rae
21-07-2011 18:28:27 F000 0269 07 *raepatch
21-07-2011 19:19:10 6000 0081 08 *lsof
21-07-2011 19:25:40 6000 01FB 09 *cp
24-07-2011 19:44:04 2000 25EB 0A :stdlib-V.rae <---------- copied
#
# rm 4:stdlib-V.rae
rm
rm ? 24-07-2011 19:44:04 2000 25EB 0A :stdlib-V.rae
24-07-2011 19:44:04 2000 25EB 0A :stdlib-V.rae <---- deleted
# ls 4:*
ls
21-07-2011 19:21:16 2000 15C3 01 :lsof.bin.rae
21-07-2011 04:13:41 2000 13F3 02 :fclose.bin.rae
21-07-2011 04:14:17 2000 1440 03 :fgetsec.bin.rae
21-07-2011 04:15:05 2000 13C5 04 :fopen.bin.rae
21-07-2011 19:27:49 2000 1B1C 05 :cp.bin.rae
21-07-2011 18:25:49 2000 1EEA 06 :raepatch-V.rae
21-07-2011 18:28:27 F000 0269 07 *raepatch
21-07-2011 19:19:10 6000 0081 08 *lsof
21-07-2011 19:25:40 6000 01FB 09 *cp
#
Again Symbiosys (Kernel version V) continues to look more and more like a real operating system.
Posted: Sun Jul 24, 2011 11:06 am
by HouseHarris
Oh and I forgot to explain that to implement the copy command I Had to add the ability to open files and have a file handle returned from the open operation to the kernel. an application can open 8 files currently and the a 1 byte file handle is returned in A.
CP is the first part of Symbiosys that is an external binary which resides in a common searched user area not entirely unlike a /bin/ directory.
I'll post the code here for the complete cp command but it is not commented, I have to push ahead with ideas in my mind and comments slow me down. I know this doesnt help anyone else looking at the cde but I will go back and comment it later I promise.
Never the less I believe anyone interested will be able to get an idea of what it's doing.
P.S. There are quite a few unused macros there, it;s a bit of a standard header, don't let them panic you.
Code: Select all
# rae
rae
2000-5FFC 1000-1FFC 0F00
3B1C 1717
>pr
0020 ;
0030 ; cp command binary
0040 ;
0050 ; For Symbiosys with B.D.O.S. Ver. V
0060 ;
0070 ; House Harris
0080 ; July MMXI
0090 ;
0100 ;
0110 .os
0120 osflags .de $39f ;DOS control flags
0130 cwd .de $39d ;2 bytes for future expansion
0140 filenum .de $39c
0150 sectnum .de $39b
0160 bytenum .de $39a
0170 xfer.bytes .de $398 ; 16 bits bytes to transfer
0180 xfer.addr .de $396 ; 16 bits start addr for transfer
0190 dta.ptr .de $394 ; disk transfer buffer pointer
0200 ilba24 .de $393
0210 ilba16 .de $392
0220 ilba8 .de $391
0230 ilba0 .de $390
0240 compacptr .de $3fc
0250 path.user .de $3f8
0260 ;
0270 argc .de $37f ;$a60f
0280 argv[0] .de $380 ;$a610
0290 argv[1] .de $382 ;$a612
0300 argv[2] .de $384 ;$a614
0310 argv[3] .de $386 ;$a616
0320 argv[4] .de $388 ;$a618
0330 argv[5] .de $38a ;$a61a
0340 ;
0350 zargc .de $4f
0360 zargv[0] .de $50
0370 zargv[1] .de $52
0380 zargv[2] .de $54
0390 zargv[3] .de $56
0400 zargv[4] .de $58
0410 zargv[5] .de $5a
0420 zargv[6] .de $5c
0430 zargv[7] .de $5e
0440 ;
0450 ;
0460 call.bdos .de $9006 ; Call BDOS function held in reg x
0470 disk.init .de $00
0480 load.sect .de $02
0490 dump.sect .de $04
0500 writebytes .de $06
0510 readbytes .de $08
0520 writefile .de $0a
0530 readfile .de $0c
0540 wrt.dirent .de $0e
0550 rd.dirent .de $10
0560 findfile .de $12
0570 findnext .de $14
0580 execfile .de $16
0590 delfile .de $18 ;delete file from directory &
0600 openfile .de $1a
0610 rwsectfh .de $1c
0620 rwdirfh .de $1e
0630 ;
0640 hex.dump .de $9f03
0650 symbiosys .de $9003
0660 ;
0670 errorhndlr .de $9010
0680 lib.puts .de $9013
0690 date.prnt .de $901c
0700 rtc.read .de $901f
0710 rtc.write .de $9022
0720 dir.prnt .de $9025
0730 istr.prnt .de $9028
0740 lib.atoi .de $902b
0750 ptrn.match .de $902e
0760 proc.flist .de $9031
0770 verify .de $9034
0780 ver.prompt .de $9037
0790 lba.prnt .de $903a
0800 lib.parsfn .de $903d
0810 ;
0820 buffer.ptr .de $a0
0830 word.rtrn .de $a2
0840 genbuf.pt2 .de $a4
0850 fsave.x .de $a6
0860 ztemp .de $eb
0870 ;
0880 warment .de $8003
0890 usrent .de $8035
0900 outbyte .de $82fa
0910 ascnib .de $8275
0920 getchar .de $8a58
0930 outchar .de $8a47
0940 crlf .de $834d
0950 space .de $8342
0960 pshove .de $8208
0970 parnr .de $a649
0980 par3 .de $a64a
0990 par2 .de $a64c
1000 par1 .de $a64e
1010 techo .de $a653
1020 ;
1030 sectr.buff .de $0200
1040 osctrlblk .de $0300
1050 cli.buffer .de osctrlblk ;size 80
1060 pattern .de cli.buffer+80 ;size 32
1070 date.buff .de pattern+32 ;size 10
1080 byte.count .de date.buff+10 ;size 2
1090 ;
1100 ivmp.addr .de $37c
1110 ;
1120 of.bvffer .de $3a0
1170 ;
1180 of.rae .de $3ef ;temporary open file for RAE
1190 ;
1200 F.Aloc.Lst .de $0400
1210 dirnt.buff .de $0500
1220 ;
1230 RAE.warm .de $b003
1240 RAE.txtst .de $100
1250 RAE.tpres .de $d3
1260 ;
1380 ;
1390 ; Files Header
1400 ;
1470 file.color .de $00 ;size 1
1480 file.name .de file.color+1 ;size 30
1490 file.ver .de file.name+30 ;size 1
1500 file.size .de file.ver+1 ;size 8
1510 file.ctime .de file.size+8 ;size 8
1520 file.mtime .de file.ctime+8 ;size 8
1530 file.atrib .de file.mtime+8 ;size 4
1540 file.load .de file.atrib+4 ;size 4
1550 file.loc .de file.load+4 ;size 4
1560 file.comnt .de file.loc+4
1570 ;
1580 of.lba .de $00 ;size 3
1590 of.size .de of.lba+3 ;size 2
1600 of.flptr .de of.size+2 ;size 2
1610 of.flags .de of.flptr+2 ;size 1
1620 ;
1630 of.close .de %11111110
1640 of.open .de %00000001
1650 ;
1660 w .de $00
1670 r .de $01
1680 a .de $02
1690 ;
1700 !!!fopen .md (mode indic.zarg)
1710 ldy #$ff
1720 ...loop iny
1730 lda (indic.zarg),y
1740 sta pattern,y
1750 bne ...loop
1760 ldx #openfile
1770 lda #mode
1780 jsr call.bdos
1790 .me
1800 ;
1810 !!!parsefn .md (zarg)
1820 lda *zarg
1830 sta *buffer.ptr
1840 lda *zarg+1
1850 sta *buffer.ptr+1
1860 jsr lib.parsfn
1870 bcs ...exit
1880 adc *zarg
1890 sta *zarg
1900 clc
1910 ...exit .me
1920 ;
1930 !!!fclose .md
1940 tax
1950 lda of.bvffer+of.flags,x
1960 and #of.close
1970 sta of.bvffer+of.flags,x
1980 .me
1990 ;
2000 ;
2010 ; osflag values
2020 ;
2030 showprgrs .de %10000000
2040 readfrwrd .de %00000001
2050 verifymode .de %00000010
2060 fullpath .de %00000100
2070 ;
2080 !!!rstosfl .md (mask)
2090 lda #mask
2100 eor #$ff
2110 and osflags
2120 sta osflags
2130 .me
2140 !!!setosfl .md (mask)
2150 lda #mask
2160 ora osflags
2170 sta osflags
2180 .me
2190 ;
2200 !!!cmpdbl .md (first second)
2210 sec
2220 lda first
2230 sbc second
2240 sta *ztemp
2250 lda first+1
2260 sbc second+1
2270 ora *ztemp
2280 .me
2290 ;
2300 !!!puts .md (strng)
2310 lda #l,strng
2320 ldy #h,strng
2330 jsr lib.puts
2340 .me
2350 ;
2360 !!!stdbl .md (src dst)
2370 pha
2380 lda #l,src
2390 sta dst
2400 lda #h,src
2410 sta dst+1
2420 pla
2430 .me
2440 ;
2450 !!!dprintf .md (src)
2460 pha
2470 lda #l,src
2480 sta *buffer.ptr
2490 lda #h,src
2500 sta *buffer.ptr+1
2510 jsr date.prnt
2520 pla
2530 .me
2540 ;
2550 !!!getdate .md (dest)
2560 pha
2570 lda #l,dest
2580 sta *buffer.ptr
2590 lda #h,dest
2600 sta *buffer.ptr+1
2610 jsr rtc.read
2620 pla
2630 .me
2640 ;
2650 !!!datecpy .md (source dest)
2660 ldx #8
2670 ...loop lda source-1,x
2680 sta dest-1,x
2690 dex
2700 bne ...loop
2710 .me
2720 ;
2730 !!!bdos .md (funct)
2740 ldx #funct
2750 jsr call.bdos
2760 .me
2770 ;
2780 !!!zrgatoi .md (zargv dest)
2790 ldx #zargv-zargv[0]
2800 lda #l,dest
2810 ldy #h,dest
2820 jsr lib.atoi
2830 .me
2840 ;
2850 !!!zrgputs .md (indic.zarg)
2860 ldy #$ff
2870 ...loop iny
2880 lda (indic.zarg),y
2890 jsr outchar
2900 bne ...loop
2910 .me
2920 ;
2930 !!!zargcpy .md (indic.zarg locvs.dest)
2940 ldy #$ff
2950 ...loop iny
2960 lda (indic.zarg),y
2970 sta locvs.dest,y
2980 bne ...loop
2990 .me
3000 ;
3120 !!!xfrdbl .md (src dst)
3130 pha
3140 lda src
3150 sta dst
3160 lda src+1
3170 sta dst+1
3180 pla
3190 .me
3200 ;
3210 !!!decdbl .md (loc)
3220 lda loc
3230 bne ...skip
3240 dec loc+1
3250 ...skip dec loc
3260 .me
3270 ;
3280 !!!cmpzdbl .md (loc)
3290 lda loc
3300 ora loc+1
3310 .me
3320 ;
3330 ;
3340 !!!phdbl .md (locvs)
3350 lda #h,locvs
3360 pha
3370 lda #l,locvs
3380 pha
3390 .me
3400 ;
3410 ;
3420 ; .ba $9600
3430 ; .ba $6600
3440 .ba $6000
3450 .es
3460 ;
4050 ;
4060 cmnd.cp lda *zargc
4070 cmp #3
4080 beq cp.begin
4090 cp.err jsr istr.prnt
4100 .by '[usernum:]sourcefn [usernum:]destfn' $00
4110 rts
4120 cp.begin parsefn (zargv[1])
4130 bcs cp.err
4140 fopen (r zargv[1])
4150 bcc cp.cont ; bcs cp.err
4160 jsr istr.prnt
4170 .by 'source file does not exist' $00
4180 rts
4190 cp.cont sta src.flhdl
4200 rstosfl (fullpath)
4210 parsefn (zargv[2])
4220 bcs cp.fnerr
4230 lda #fullpath
4240 bit osflags
4250 beq cp.skip
4260 ldy #0
4270 lda (zargv[2]),y
4280 bne cp.skip
4290 fopen (w zargv[1])
4300 bcc cp.skip2
4310 cp.fnerr jsr istr.prnt
4320 .by 'dest filename error' $00
4330 rts
4340 cp.skip fopen (w zargv[2])
4350 cp.skip2 bcs cp.fnerr
4360 sta dst.flhdl
4370 stdbl (sectr.buff dta.ptr)
4380 setosfl (showprgrs)
4390 lda #0
4400 sta ilba0
4410 cp.loop ldy src.flhdl
4420 sec
4430 bdos (rwsectfh)
4440 ldy dst.flhdl
4450 clc
4460 bdos (rwsectfh)
4470 lda ilba0
4480 ldx src.flhdl
4490 cmp of.bvffer+of.size+1,x
4500 bcs cp.finish
4510 inc ilba0
4520 bne cp.loop
4530 cp.finish ldy src.flhdl
4540 sec
4550 bdos (rwdirfh)
4560 stdbl (dirnt.buff dta.ptr)
4570 ldy dst.flhdl
4580 sec
4590 bdos (rwdirfh)
4600 lda sectr.buff+file.color
4610 sta dirnt.buff+file.color
4620 xfrdbl (sectr.buff+file.size dirnt.buff+file.size)
4630 xfrdbl (sectr.buff+file.load dirnt.buff+file.load)
4640 stdbl (dirnt.buff+file.mtime buffer.ptr)
4650 jsr rtc.read
4660 ldy dst.flhdl
4670 clc
4680 bdos (rwdirfh)
4690 cp.exit lda src.flhdl
4691 fclose
4692 lda dst.flhdl
4693 fclose
4694 lda #1
4695 rts
4700 ;
4710 src.flhdl .by $00
4720 dst.flhdl .by $00
4730 .en
4740 ;
4750 ;
4760 ; end of cp binary
4770 ;
//
>
Posted: Tue Jul 26, 2011 2:20 pm
by HouseHarris
I have lately been thinking more about porting Symbiosys to some arguably more popular architectures, the kernel is almost at a stable state of development and much of the further work will be in the form of external executable binaries. Given a location where to put the 4k kernel binary, a location for the buffer&variable block, a location of the 6522 VIA to control the IDE disk and a location for the BDOS internal calls vector jump table it should work on any 6502 machinery. It is using a few of the SUPERMON rom functions on the Sym, but they are small things like converting ascii to binary and a hand full of printing & key input functions. These can be simply written into the kernel.
By necessity I have written the whole thing on the SYM itself using the resident assembler editor (RAE) and perhaps for the purposes of porting it would be better to translate it inot a more conventional 6502 cross assembler on the linux machine. Then again there's no reason I can't stamp out suitably memory mapped binaries from RAE.
Additionally I have been looking into a completely new machine with a radically different CPU to port it to and have set my sights on the Hewlett Packard HP85. It is a very nicely integrated system designed to have it's operating systems and languages in ROM, as Symbiosys is, and it has good access to IO ports for wiring up the disk unit. The availability of the hardware is good but it's in the USA, working out how to get it shipped here to AUstralia is proving to be the biggest challenge right at the moment. Any suggestions in that regard would be welcomed.
I should be able to integrate the SYM 1 into the HP85 development environmnet too, so I can easily maintain both architectures simultaneously. Also as icing on the cake the HP85 has a CP/M kit available for it so I'd get to work again with CP/M only now having access to thew extensive libraries of software that I did not have back in the 1980's. I could also recode Symbiosys for the Z80 too which might be fun in the longer term.
So this is my plan, my dream...... My nightmare.
Posted: Mon Sep 19, 2011 12:42 pm
by andysa
Just wondering where I can download the latest code for Symbiosys.
The links previously published dont appear to be working for me.
Posted: Wed Sep 21, 2011 5:47 am
by HouseHarris
yes I can send you the binary. and we can work through it's installation and other details here. At last another sym enthusiast. this is a remarkable day.
I'm just trying to think how to do this. shoudl I just give you the binary itself or a paper tape dump of it I wonder ?
Posted: Wed Sep 21, 2011 6:33 am
by HouseHarris
here is a link you can save to give you the paper tape dump of the OS kernel. If you can successfully get this to load you should be able to run it by the g 9000 command from the supermon prompt and it will give you a startup message and a # prompt. try the command hex 9000 9fff to get it to hexdump itself. if that works then it's time to make up the ide interface cable. let me know how you go, I'll monitor closely the forum now.
http://b5.net/sym1/2011-9-21.dos.ptape
Maybe you will need the binary in a form to burn into an eprom, I myself have the Dallas DS1644 nonvolatile ram 32k with real time clock which you will need as the kernel takes it's date and time from that, that makes up the ram from 0 to 7fff. then I have another 32 k DS 1230Y which sits above that and the kenerl loads into the 9000-9fff area on that. but you might want to burn it into an eprom and sit it in the 9000-9fff window. however you get it there though thats where it sits.
let me know what happens. discuss anything you want to know.
let me know what you need to get it onto your sym.
Symbiosys
Posted: Wed Sep 21, 2011 9:02 am
by andysa
Many thanks for the link. This is exciting.
If you have a link to a binary though, it would be preferable. I will burn it straight to EPROM.
I might have a little bit of work to get my SYM working again, before I have a chance to play with your Kernel. It hasnt been powered up for quite a number of years and has collected some dust. I intend to polish it up this weekend.
Actually, I own a couple of them. An original VIM, which was one of Synerteks early production boards, then an actual SYM.
I have just completed a 2650 based board, with USB interface and all the address decoding done by PLD. Being an Aussi, you probably remember the old EA 2650 project very well.
The intention over coming months is to do a similar project, based on the SYM. Again with USB interface, on hopefully a smaller footprint (minus the keypad and LED display maybe).
I am wondering if it is possible to substitute a hard disk drive for a Compact Flash card running in IDE mode, using your Kernel. Might make for an interesting inclusion in my board.
There are still a couple of us here in Adelaide, who were very fond Sym enthusiasts. I have mentioned your project to them and it has spurred a great deal of interest.
Posted: Wed Sep 21, 2011 10:06 am
by HouseHarris
yes the straight binary for burning to the eprom. I'm sure I can work this out somehow. I can't just copy it to the linux machine straight off the top. let me think about that one, it will happen rest assured.
I might have something to read the paper tape format into a straight binary.
you'll get the sym working, I dug mine out of the cockroach infested garage where it had sat since 1980, the 6502 chip had failed, and some of the ram chips were holding address and data lines down. replaced the 6502 and took out the ram chips till it booted up with 1k in it. Then I made the memory expansion to fit the 32k of DS nvram to replace ALL the ram on the board, just pulled the old 2114's out.
That one was a Vim , and I have since bought a Sym and another Vim of ebay ( you have to pay the same price as they were new [about 250 d's]) so they are one of the more expensive antique computers and for good reason, they are excellent!!!
I do indeed remember the EA 2650 and I have the "Electronics Australia and Phillips Electronic Components & Materials present A RECORDING OF USEFUL 2650 SYSTEM SOFTWARE", 33 1/3 rpm floppy record in my archive of madness. I bought it as a school kid with anticipation of being able to build the EA 2650 (never happened)
YES it is indeed possible to use the compact flash card with ide interface, it is entirely compatible, no changes needed anywhere. It has been done.
USB interface should be easy to incorporate into Symbiosys based system, you may have read the overall architecture of it and a suitable device driver could be written and added into the vector table as a low level driver for the USB. it has not been done, but is possible,
Your project to make a sym clone in your own image, if I understand it correctly, is a superb idea and I only hope we can cooperate to make a full hardware and software package.
Who would have thought that it would be people in Adelaide who would end up being interested in this very unusual project.
Posted: Wed Sep 21, 2011 6:45 pm
by BigEd
yes the straight binary for burning to the eprom...
I might have something to read the paper tape format into a straight binary.
I did some fiddling on the command line, and
here's the binary
Great job with symbiosys - I'm in no position to try it right now, but it must be an asset for the future. If you can make any source available, or any other goodies formerly available (there was a Forth I think?) that would be great.
One other thought - if you have really early 6502s, even broken ones, please consider checking with the visual6502 project because they might be worth reverse engineering to see what early differences between manufacturers were.
Cheers
Ed
Posted: Thu Sep 22, 2011 8:54 am
by HouseHarris
Thanks for that BigEd, I've checked that and it's a good image. I've put it on my server at
http://b5.net/sym1/ as well so it is well saved.
I will put up more material for it there too, yes there is a port of FIG forth and microchess,I'd add note that cjb did those. I'll just have to adjust a few values and recompile them as the kernel has changed a bit since then.
So this will all be great when theres another installation or two running out there in the world. Really quite looking forward to that.
Symbios / Sym1 Hardware Expansion project
Posted: Wed Nov 02, 2011 9:42 am
by andysa
Well, after a month or so silence, I am back.
I have spent some time getting my old Sym-1 working again and developing some new hardware to exploit Symbios to it's full potential.
I have made three PCB's to accomodate the following:
- USB interface
- AA connector IDE interface
- E Connector Header
- DS timekeeping Ram
- 27256 32Kx8 Eprom support
- PLD address decoding
All the hardware is now working nicely and I am ready to start playing with Symbios.
Do you have any further details regarding it's usage?
Posted: Wed Nov 02, 2011 9:56 am
by andysa
Image no longer available: http://img252.imageshack.us/img252/3853/img0224bs.jpg
Image no longer available: http://img257.imageshack.us/img257/8761/img0227l.jpg
Posted: Wed Nov 02, 2011 9:59 am
by andysa
Image no longer available: http://img580.imageshack.us/img580/1504/img0226qrp.jpg
Posted: Wed Nov 02, 2011 5:11 pm
by HouseHarris
That's totally amazing. I'm impressed to no end. ok then lets get you set up with a file system you can work with.
For a start you should know that the command line editor needs a vt100 emulator, I use the linux xterm to log in and that will work fine.
Well g 9000 will start symbiosys as you'd probably already have worked out. and you should get the # prompt.
ctrl s moves cursor left ctrl d moves it right , crtl a beginning of line ctrl f end of line. ctrl u deletes character forward and backspace deletes backwards. it inserts keystrokes at the cursor position.
try the # date command and it will tell you if your clock is where it should be. to set the date you'll have to go in with supermon to set it up I have not done a commend for that yet. The # mon command will take you out to supermon and a G command from there should take you back into symbiosys command mode.
Then will come the time to test the disk interface, and I hope that's been documented right for you, at any rate the # mkdir 0 0 0 command should create the root user area. now if that works you are truly in business. only the first parameter in mkdir is real, the other two params can be anything it was just something I did just to reduce the risk of accidentally issuing the destructive command by accident. it doesn't do much verification yet.
If that works then do # mkdir 1 0 0 then # mkdir 2 0 0.
try # ls * and it should successfully list an empty root user area. ls must have some wildcard definition I've been meaning to set the default * wild card for a no parameter ls command, I'll get around to it now if you're up and running..
you can tell ls to list another user area by prefixing the parameter with the user area and a colon. So if you ran those other mkdir's then you can do # ls 1:* and # ls 2:*
At that point you could try creating a file with the # store command, execute it with no parameters and it will give you usage instructions (read arcane clues) . store % symbiosys.image 9000 fff should then save the rom images to a file which you can list with # ls * . The first parameter is the file colour which is basically a file attribute, the % is just for general non executable binary files.
The colon by itself as a command will display the current user area and with a number parameter wil change the current user area to what you specify so you can move around your fil esystem with # : 2 and # : 3 .
I'll just stop writing at this stage and you let me know if everything's working so far. If all is good I'll go on, there are several more basic commands working. And you might want to get RAE working too I don;t know. I'll have to feed you the patch for it to access symbiosys.
Let me know how it goes, and I'll buy one of those hardware expansions from you without any hesitation if and when you can supply another.
PCB's
Posted: Wed Nov 02, 2011 10:53 pm
by andysa
Email me your address privately and I will send you a set.