Shop OBEX P1 Docs P2 Docs Learn Events
ZiCog a Zilog Z80 emulator in 1 Cog - Page 10 — Parallax Forums

ZiCog a Zilog Z80 emulator in 1 Cog

17810121341

Comments

  • heaterheater Posts: 3,370
    edited 2009-04-09 05:32
    Clusso,

    As I said briefly by email, I'm sorry it never occured to me that you may not have been linked up with the SIMH Altair Z80 web site. Peter Schorn has a gigantic array of CP/M software there all packaged up and ready to run on the AltairZ80 simulator. That is why I'm always harping on about SIMH AltairZ80 compatibility. We can take all that known working stuff as disk images and just drop them into the Propeller now !!!

    I think perhaps you missed out on the beginings of my PropAltair thread here, well it was about 2 years ago now. There, I was enthusing about AltairZ80 and how we could have Ada, Algol, Basic, C, Cobol, Forth, Fortran, Lisp, Modula2, Pascal, PL/M, and other compilers all hosted on the Prop. Not to mention editors, databases etc etc.

    I still claim to be the first person to present a system, PropAltair, able to run C code on the Propeller[noparse]:)[/noparse]. At that time compiled on the PC using BDSC and SIMH AltairZ80. Now we can host BDSC on the Prop as well !!

    Still, on the plus side, now that you see where all my inspiration came from for PropAltair and ZiCog it will stoke up you enthusiasm some more[noparse]:)[/noparse]

    P.S. Interesting to see that SIMH Altair Z80 now has an emulation of the N8VEM Z80 single board computer that Dr_A uses.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-04-09 08:21
    Heater,

    Without your inspiration and getting the 8080/Z80 emulator (ZiCog) running, I would not have even·embarked on this in the first place. Thankyou heaps. ·jumpin.gif

    The TriBladeProp·is not the first Propeller SBC. That title belongs to Heater who·did·it with·16KB CPM + TV & Keyboard on one propeller chip a few months ago. However, it is probably the first truly self-contained, usable computer system totally based on the propeller.

    This has been a truly joint project, combining code objects from all over the place. The backbone of course, has to be heaters' ZiCog emulation. Thankyou one and all.

    Now, have I said before,·we only need a SPIN/PASM compiler to run on the prop, either under PropDOS or under Z80 and CPM. (I am going to continue to·push this until we get one) smilewinkgrin.gif

    BTW: I have noticed that CPM3 can use 1MB of memory in 16x64KB banks. We can have that too, with the loss of the Ram Disk of course.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • heaterheater Posts: 3,370
    edited 2009-04-09 10:10
    Depends what you mean by "SBC" I guess. Don't forget ProDos and such were around first and probably a lot more useful than the PropAltair effort.

    The TriBlade is what I wanted all along, although I did not know it. I just vaguely imagined a Prop with my old 32K RAMs bolted on and a serial link to something like PropCom/CoggyTerm on another board.

    To me a "computer" has to be a thing I can program to compute something, that implies having a means of getting the programs in whether it be a full screen editor and keyboard or just a bunch of switches and lights. If I need another computer to get to do all that program entry then my first "thing" hasn't made the grade yet.

    I am constantly amazed by the interest shown in this project and all the help and suggestions put forward.

    Clusso: I see you are attracted by the same shiny toys as I am. I think we should go for broke and get CP/M 3 running also MP/M the multi-user multitasking CP/M. As you observe: 1MB bank switched memory, up to 8 Giga bytes of disk storage and I'm sure the TriBlade could handle 16 console ports [noparse]:)[/noparse]

    Strangely enough I was doing some reading around this last night, this is what I came up with:

    1. Bank switching, DR recommends 16K resident RAM at the top with the lower 48K switchable to other 48K banks. They do say the resident part could be smaller with the banks bigger, not sure what is optimal here yet. We should do whatever SIMH has working already.This will slow us down something rotten with having to check every access address and the the bank number if the address is lower than the resident area and then adding offsets into the correct banks location in ext RAM. But never mind. Getting into CPLDs is on my TODO list so we may just have to build a new TriBlade with hardware bank switching in CPLD. Or the Prop II will turn up just in time.

    2. Disks can be huge, 512MB, 16 disks, max file size 32MB. Again we should do whatever SIMH does as we know it all works.

    3. MP/M users, I think it was up to 16 serial console ports, on the TriBlade one is the Blade #1 terminal some others could go out through Blade #3 Hmm... How many screens could we drive from PropComm on one COG?

    4. DR describes porting MP/M to different hardware. To do this they require starting from a working CP/M 2 installation. The magic thing about this is that you can bring up MP/M from a command in CP/M 2. It does not have to boot from disk. Bit like starting Windows 3.1/95 from MSDOS. Not sure if this applies to CP/M 3.

    5. For MP/M we need interrupts, or at least one for the timer tick. Guess we could just check cnt in the fetch loop for that. It will slow the emulation down a tad more.

    6. Need to do a lot more research on this.

    Any CP/M 3, MP/M gurus out there ?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-04-09 11:13
    Heater:

    1. No. Bank switching is just adding a constant to the base address with the one check between the 512KB boundary - just like you did with the ram/rom emulation in hub. So it's a lot faster than real bank switching because there is really no hardware! So it will be on the TriBladeProp as is.·yeah.gif

    2. We have the space on a 2GB microSD.smile.gif

    3. MP/M doesn't excite me. But, each screen would be a single chip PropCOMM·smile.gif· or better yet, 2· VGA+Keyboards on one prop yeah.gif

    4. ?
    5. One cog to tick a memory location in hub. We will have to look for character inputs anyway. We have cogs but no pins.smile.gif

    I am asking for a spin/pasm compiler or c compiler running natively on the prop, or alternately on a z80 and we can run it under ZiCog ? Anyone interested? Anyone willing to provide code? Will any of the compilers compile themselves to the prop?



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • kwinnkwinn Posts: 8,697
    edited 2009-04-09 12:26
    heater, I know both CPM and MPM can support 16 serial terminals for sure. Many years ago I assembled a 6MHz Z80 system (S100 bus) with 256K of ram and 2 8 port serial boards. The system was used for data entry (key to disk) and the data entry software was written by the purchaser. He did switch it over to MPM at some point. That system was in use for several years, and grew to have 16 terminals connected before the end of the first year of use.

    I was amazed that such a small slow system could accomplish that task. It shows what can be accomplished with simple hardware and tight coding.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-04-09 14:18
    @heater, I'm still slightly bemused by the way your first thread started on "anyone interested in CP/M on the prop?", with the distinct impression you thought the answer would be a deafening silence. LOL!

    @cluso99 - I think today my ISP decided not to send any emails so you probably didn't get my wordstar .dsk image. But no matter, because it seems in the last few threads you have found the altair simh site. Almost everything you want is there, including games, spreadsheets, word processors and a wide range of programming languages. SBASIC and BDS C are the two that I'm very interested in, and I guess MBASIC for remaining a very quick way to print "Hello World" and hence get people hooked on programming. Those .dsk images are a very convenient package, and with W.COM and R.COM on each image it is simple to move files on and off the disk image from within the simh. I'd add my vote to the opinion that it is easier to work with .dsk files than to work with individual CP/M files on an sd card. ie, the work is done. It works!

    For those whom this thread still seems esoteric, there is also the Walnut Creek archive of almost everything written in CP/M. As an example, if you want to set up a bulletin board and put it on the net, you want software that is unbreakable, unhackable, unable to be left hanging or with broken files on the disk. This software is on the archive. Say you want radio repeater software to bounce packets around over the aether - well that is on there too, and now it just drops into a propeller thanks to the sterling effort here.

    Where to next? I'm thinking serial ports. One to a PC (for all sorts of things, especially file transfer). One to a serial/ethernet lantronix box for remote login. One to a wireless transceiver. Maybe 1 to another board. And 1 or more to some sort of simple I/O device (am I allowed to suggest a picaxe here as a $3 serial to analog input/output device?).

    Is it possible for the propeller to handle multiple serial ports and monitor all of them at once for any input? I'm wondering about adding a few max3232s to the 3rd prop.

    Addit: cluso99, would you be able to kindly time this little mbasic program?:
    20 FOR A=1 TO 1000
    30 B=1+2+3+4
    40 NEXT A
    50 PRINT "Finished"
    60 END

    Post Edited (Dr_Acula (James Moxham)) : 4/9/2009 2:43:53 PM GMT
  • heaterheater Posts: 3,370
    edited 2009-04-09 14:58
    Cluso: I don't follow you re: bank switching. I'm going by the CP/M 3 System Manual here www.cpm.z80.de/manuals/cpm3-sys.pdf

    From what I understand we have:

    1. 16K of RAM at the top that is always resident.
    2. 48K of RAM at the bottom that is "bankable"
    3. Up to 16 of those 48K banks are available.

    So, for a memory access we need to:
    1. Check if the address is $C000 or above.
    2. If above or equal just use it as normal and access the resident area.
    3. If less than $C000 then add an offset to the address, dependant on the currently selected bank number, and access some RAM elsewhere in ext RAM. Say immediately above the first 64K space.

    The offset for bank zero could be zero and so a "normal" address results and access to the low 48K of Z80 RAM space is made.
    The offsets for other banks should be so that the resulting ext RAM address is some multiple of 48K above the 64K space.
    The offsets can be set when a BIOS bank switch is performed, so quite speedy during subsequent accesses.

    I did not get the thing about "one check between the 512KB boundary" at all, where has that come from ?

    MP/M does not excite you? Multitasking and all. Oh well, let's shoot for CP/M 3 and see where it all leads.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • heaterheater Posts: 3,370
    edited 2009-04-09 15:02
    kwinn. Actually I don't think CP/M itself did support more than console, printer and punch serial devices. Later rename AUX this and that I believe. But the was nothing to stop an application talking to whatever was pluged into the bus bypassing BDOS and BIOS.

    MP/M is a different kettle of fish. It had to know about the users on it's multiple ports.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Mike GreenMike Green Posts: 23,101
    edited 2009-04-09 15:15
    James:

    The Propeller can have lots of serial ports, all active at the same time. You just use a separate cog for each or, by using the 4-port driver in the Object Exchange, you can have 4 full duplex serial ports per cog ... all of them feeding into buffers (64 bytes each).

    Why use a PicAxe to interface to analog devices? The Propeller can it all by itself. Most analog to digital converter chips use either SPI or I2C for communications and the Propeller can do that easily. There's plenty of example code in the Object Exchange. Many digital to analog converter chips work the same way and the Propeller can also use a cog counter to do its own DAC conversions. Again, there's sample code in the application note (AN001) on the cog counters.

    The YBOX2 is an open source web server using a Propeller and an ENC28J60 ... cheaper than a Lantronix device.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-04-09 16:12
    Heater:

    The srams are 512KB so crossing over between them requires a change to the latch. What you are saying is correct, if the address is <48KB then just add the offset to it. However, I was thinking it would be faster since we do not have to switch banks, but bank switching is actually only done when switching banks and we would have to do the 2 instructions each time we fetch an instruction. Nevermind, we don't need the extra hardware.

    MP/M: No but don't let me stop you. It is only the MP/M software after all and the I/O of course, which we have to do in #3 anyway.

    James:

    As Mike has said, no problems for I/O and UARTs, Ethernet, etc. #3 has options for 2 spin studio conectors so any spin studio cards should work. And we still have the USB serial available which gets relocated to #3 by shunts, selectable to P30/31 or P26/27. If the sram is not fitted to #1 then we can have 2 keyboards and a VGA·plus maybe TV (needs a short 4 wire jumper cable) if there are enough cogs (cannot remember how many a TV requires?). Otherwise we jumper to #3 with a cable on the headers. I haven't·revealed all the options on this pcb yet cool.gif Actually, it's a lack of time - not trying to hide anything - it's all on the published schematics roll.gif

    Also have a look at what Ariba does with audio generation·- Music Synthesizer object with General MIDI sound set··http://forums.parallax.com/showthread.php?p=797590·Thats some DAC for you yeah.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-04-10 14:41
    James: I did 10,000 loops in 40/41 seconds. 1000 was too short. How does this compare?
    Heater: Can you post your times?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • heaterheater Posts: 3,370
    edited 2009-04-10 15:01
    I can't run mbasic any more. Not enough RAM. I had reduce CP/M down to 20K for ZiCog in HUB RAM on my demo board.
    All those Z80 op vector tables eat the space.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • heaterheater Posts: 3,370
    edited 2009-04-10 17:42
    Under the old emulator, PropAltair v2.3 running Altair BASIC 3.2 that loop with 10,000 takes 60 seconds.

    OK, no comparison, different emulator code, different BASIC. Best I can do for now.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • heaterheater Posts: 3,370
    edited 2009-04-10 20:34
    I just managed to get mbasic back on my mini N8VEM board, real Zilog Z80, not sure what it is clocked at.
    That mbasic loop with 10,000 iterations takes 35/36 seconds as best I can tell by wrist watch.

    Looks like TriBlade/ZiCog is doing quite well. Think we need to over clock the Propeller a little bit [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-04-11 02:22
    Yes, I am using a 5MHz crystal, but I have 6MHz crystals on hand. That will crank it up 20% which should take it to 33/34 seconds. Or we could run the 14.xxx colorburst crystal like Sapheia uses - I have provision for the extra caps under the prop to make it stable. That should crank it up to about 28/29 seconds but we are way out of specification for this.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-04-11 03:06
    Great news re the serial ports - thanks Mike et al.

    Cluso and heater, you are right on the money with the speed. On a real z80 running at 3.68Mhz that program took 42 seconds. So you are emulating at about 3.7Mhz. Plenty fast enough (I'm running all mine at 3.68Mhz because I got a job lot of xtals cheap, but that speed is fine.) If you can go faster...
  • heaterheater Posts: 3,370
    edited 2009-04-11 06:52
    Dr_A: What's going on here? My mini-N8VEM has one of your 3.6864MHz crystals in it. That loop test with 10,000 iterations takes 35 +/- 1 seconds. You have a result of 42 seconds. Even timing by wristwatch that's a big difference.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-04-11 07:16
    Heater - I can see a race coming on to the tweak the code. BUT it will have to wait till we get the next bit done.
    I bought another 2GB uSD card today smile.gif Very expensive, just like the old disk drives -- A$10 (about US$6.50)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • heaterheater Posts: 3,370
    edited 2009-04-11 07:51
    Clusso: Attached is my proposal for the memory map of a bank switch CP/M 3 system:

    The proposed memory map provides:

    1. 256K RAM for bank switched CP/M 3 or MP/M.
    2. 16K CP/M Common RAM (Resident RAM).
    3. 5 banks of 48K for CP/M bank switching.
    4. 768K RAM disk space.

    The arrangement of 5 * 48K banks results in a very neat fit into 256K leaving
    a reasonable sized RAM disk space in the TriBlades's 1MB RAM.

    During memory access ZiCog only needs to check for addresses less than C000 and add an offset to
    the ext. RAM address if so. The offsets being pre-set when a bank switch OUT instruction is performed
    by CP/M.

    The bank switch port OUT instructions made by CP/M will be intercepted by the ZiCog (in PASM) where the
    correct offset will be set.

    The bank switch port IN instructions will also be intercepted at the PASM level.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-04-11 11:04
    Oops, didn't quite type line 20 exactly. Yes, 35 seconds now.

    Cluso is racing ahead and soon will have a pentium emulated!

    @heater, what is the story with you only having 20k of ram again? Have you got a triblade yet?

    addit - I'm deep in the world of getting CP/M boards online. Lots of interesting developments - hopefully in the next 24 hours I'll be able to publish a dns link and port to type into hyperterminal and you can log in and do the speed tests yourself!

    Post Edited (Dr_Acula (James Moxham)) : 4/11/2009 11:10:21 AM GMT
  • heaterheater Posts: 3,370
    edited 2009-04-11 16:02
    I have a TriBlade board, and a colllection of components, no RAMs yet. Problem is finding the time....

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • heaterheater Posts: 3,370
    edited 2009-04-11 16:49
    Cheers, Looks better in real life. The forum jaggies it up. Still trying to perfect the font.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-04-13 05:38
    Musings re getting this on the 'net. Faster, smaller, cheaper...

    I've been doing some experiments with getting CP/M on the internet. The answer is, yes it can be done, but it is not simple. I've got two boards online at the moment. The setup on one is router<=>Lantronix MSS100<=>RS232<=>CP/M board. The second one is router<=>dedicated PC<=>rs232<=> n8vem running Leif Bloomquist's software http://home.ica.net/~leifb/bbs/

    Using telnet hopefully you can find the former at n8vem.homedns.org port 3001 and the latter at n8vem.homedns.org port 23 I say hopefully, because there have been some teething problems. My ISP changes the IP address several times a day and the dyndns client software takes a little while to update the new address. (which is why the telnet address is alphabetic rather than numeric xxx.xxx.xxx.xxx) Also only one person can log in at a time. And the one at port 3001 doesn't have a welcome screen - you have to type return to get the prompt. But I have had a login from Germany today which is great to see.

    There are about 20 settings to get a mss100 device working and each one has to be correct. The whole setup is a bit fickle at present.

    Further there have been problems with xmodem, especially with downloads failing and throwing rubbish characters at CP/M. Some of these characters were trying to change CP/M to drives that didn't exist, and some were invalid (128 to 255). So there have been some software rewrites to make CP/M more robust, eg any attempt to change to a non existent drive will change to drive A instead. Then we have discovered that xmodem won't work with telnet. Specifically, xmodem sends and uses all ascii bytes from 0 to 255. This is fine, except that telnet uses 255 as an instruction byte. So you can send text files with xmodem, but not .com files or binary files or overlay files because eventually there is a 255. And also, you can't send files over 32k because with 128 byte packets, packet number 255 won't go through. So there are fudges involving turning binary files to intel hex format, chopping them up to 31k pieces, sending them as individual files, then reforming them. All very messy. I'm going to do some experiments with writing my own telnet program in vb.net to try to get around this, because hyperminal and teraterm won't work with xmodem, and putty won't even send characters reliably to CP/M.

    I picked up the MSS100 devices off ebay for a good price - $25 each including shipping. They are a bit 'old skool', eg with a D25 instead of a D9 for the serial port, but work well and I suspect are similar to program to other Lantronix devices. The more modern device would be the lantronix xport, but while these were announced with fanfare a few years ago http://www.automation.com/content/lantronix-launches-20-xport-embedded-device-gateway at $20, I've yet to find any under $47.

    Earlier, there was mention of the ENC28J60. These are under $4 - and they work with the propeller! I'm intrigued by the ybox and the ybox2 http://forums.parallax.com/forums/default.aspx?f=25&p=2&m=224933 Presumably, one needs to tell the chip via spin or whatever some basic setup parameters, such as the local IP address of the device, the subnet mask and what telnet port to use. Then portforward those settings on the router. And set all the other devices on the home network to static IP addresses so there is no chance of data clashes. Given the ybox2 exists, obviously some of this has been done in software. But looking at the schematic, the ybox2 doesn't appear to have a keyboard.

    So, all the bits exist to get the triblade on the net. And the experience with everything propeller is that the prop can do things with lower power consumption and at a cheaper price, so I'm wondering whether the third prop on the triblade could talk to a ENC28J60 chip and hence to an ethernet port?

    Post Edited (Dr_Acula (James Moxham)) : 4/13/2009 5:45:45 AM GMT
  • Mike GreenMike Green Posts: 23,101
    edited 2009-04-13 05:54
    The 3rd Prop on the TriBlade could run a modified version of the YBox2 software. This can get an IP address, subnet mask, and name server address from a DHCP server and can act as a webserver. It can even download new software via the internet.
  • heaterheater Posts: 3,370
    edited 2009-04-13 07:47
    If there is ever a version 2 of the TriBlade perhaps it could have an ethernet jack with built in magnetics.

    Is anyone working on porting the uip stack to the Prop in ICC (Or Catalina) ? www.sics.se/~adam/uip/index.php/Main_Page

    ZiCog Logo attached. Viewable in FireFox, created with Inkscape.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-04-13 10:02
    Just plug one of the modules into Blade #3 if you want to try Ethernet. That's the whole purpose of Blade #3.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-04-13 23:27
    Dr_Acula (James Moxham) said...
    Musings re getting this on the 'net. Faster, smaller, cheaper...

    I've been doing some experiments with getting CP/M on the internet. The answer is, yes it can be done, but it is not simple. I've got two boards online at the moment. The setup on one is router<=>Lantronix MSS100<=>RS232<=>CP/M board. The second one is router<=>dedicated PC<=>rs232<=> n8vem running Leif Bloomquist's software http://home.ica.net/~leifb/bbs/

    Using telnet hopefully you can find the former at n8vem.homedns.org port 3001 and the latter at n8vem.homedns.org port 23 I say hopefully, because there have been some teething problems. My ISP changes the IP address several times a day and the dyndns client software takes a little while to update the new address. (which is why the telnet address is alphabetic rather than numeric xxx.xxx.xxx.xxx) Also only one person can log in at a time. And the one at port 3001 doesn't have a welcome screen - you have to type return to get the prompt. But I have had a login from Germany today which is great to see. [noparse][[/noparse]addit - boards are offline for the moment while I get my phone company to fix a noisy phone line]

    There are about 20 settings to get a mss100 device working and each one has to be correct. The whole setup is a bit fickle at present.

    Further there have been problems with xmodem, especially with downloads failing and throwing rubbish characters at CP/M. Some of these characters were trying to change CP/M to drives that didn't exist, and some were invalid (128 to 255). So there have been some software rewrites to make CP/M more robust, eg any attempt to change to a non existent drive will change to drive A instead. Then we have discovered that xmodem won't work with telnet. Specifically, xmodem sends and uses all ascii bytes from 0 to 255. This is fine, except that telnet uses 255 as an instruction byte. So you can send text files with xmodem, but not .com files or binary files or overlay files because eventually there is a 255. And also, you can't send files over 32k because with 128 byte packets, packet number 255 won't go through. So there are fudges involving turning binary files to intel hex format, chopping them up to 31k pieces, sending them as individual files, then reforming them. All very messy. I'm going to do some experiments with writing my own telnet program in vb.net to try to get around this, because hyperminal and teraterm won't work with xmodem, and putty won't even send characters reliably to CP/M.

    I picked up the MSS100 devices off ebay for a good price - $25 each including shipping. They are a bit 'old skool', eg with a D25 instead of a D9 for the serial port, but work well and I suspect are similar to program to other Lantronix devices. The more modern device would be the lantronix xport, but while these were announced with fanfare a few years ago http://www.automation.com/content/lantronix-launches-20-xport-embedded-device-gateway at $20, I've yet to find any under $47.

    Earlier, there was mention of the ENC28J60. These are under $4 - and they work with the propeller! I'm intrigued by the ybox and the ybox2 http://forums.parallax.com/forums/default.aspx?f=25&p=2&m=224933 Presumably, one needs to tell the chip via spin or whatever some basic setup parameters, such as the local IP address of the device, the subnet mask and what telnet port to use. Then portforward those settings on the router. And set all the other devices on the home network to static IP addresses so there is no chance of data clashes. Given the ybox2 exists, obviously some of this has been done in software. But looking at the schematic, the ybox2 doesn't appear to have a keyboard.

    So, all the bits exist to get the triblade on the net. And the experience with everything propeller is that the prop can do things with lower power consumption and at a cheaper price, so I'm wondering whether the third prop on the triblade could talk to a ENC28J60 chip and hence to an ethernet port?
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-04-15 00:16
    Been quiet for a few days - heater and I are working on getting CPM3 running using the bank switching (simulated) and 256KB of the 1MB SRAM. Bank switching code has been done.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Sign In or Register to comment.