Shop OBEX P1 Docs P2 Docs Learn Events
Dracblade SBC with Catalina C, PropBasic, CP/M, MP/M, TRS80, wireless network, - Page 10 — Parallax Forums

Dracblade SBC with Catalina C, PropBasic, CP/M, MP/M, TRS80, wireless network,

17810121329

Comments

  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-25 00:12
    Just gone midnight here, so no time to play. The overheating thing is not the problem I have, they get as much copper as I can spare and that is a lot more than the specs state, and they only get luke warm. You might have noticed that I hate hot electronic bits.

    The latched LED flickers when the loading is going well, but comes on and stays on when it deems to "Spacebar ...". Reset button cures it, as always. If you bash out morse code on the reset button the load still completes ok, after the last press!

    Tomorrow then.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • mikedivmikediv Posts: 825
    edited 2010-01-25 00:32
    Toby Yipppe LOL,, well it turned out for me the fact that I ended up using wire wrap sockets instead of just waiting for my regular IC socket to arrive has come back to haunt me , It tuned out the Prop socket was bad the clock pin was not making contact, and becuase these sockets are so much thicker than regular sockets when I tried to de-solder "I have a de soldering station" I pulled off about half of the lans so I pretty much ruined the board. Its such a shame I was so excited when it booted CPM and worked. I might try to use wire wrap and make the
    board connections manually but lets be honest this rarely works plus even if I can pull it off I would think the wires will act like little antennas Well after I am done sulking I will post some pictures Now If I had Toby's skills I would feel a lot better.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-25 00:51
    So you have wirewrap sockets soldered in, but some of the tracks are damaged?

    Well, it ought to be possible to put wire wrap wire in to replace the tracks. No matter about being antennas - they already are anyway with respect to tracks on the board. There is nothing wrong with point to point wiring with wirewrap wire.

    Just need to double check the connections are going to the correct pins. My first Z80 board was all done with wirewrap and there were many layers of wire all going every different direction. It worked fine. And some of the very early versions of this board had wirewrap wire on the underside. So it ought to be possible to fix it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-25 08:28
    My only claim to art, is the title "Bodge Meister".

    99% of all I work with is second/third/fourth hand. If only I could find some scrap Props. The SDRAMs I am going to play with ar steamed off of a DIMM.

    Solder on little bits of wire to repair the PCB ( be mindful of the topside stuff underneath things ) and DON'T take any pics (or keep the resolution, and focus down ). Who's to know?

    As I can not do Through hole plating, I pit a single hair of wire through the hole before the IC socket is placed. Soldered on the hidden side for 0.2" (ish) along the track and the along with the IC base pin and trimmed. It should be good for a few amps.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point

    Post Edited (Toby Seckshund) : 1/25/2010 8:42:39 AM GMT
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-25 13:39
    This is crazy esoteric stuff, but tonight I've got a little program running that has a simple menu to login to any propeller dracblade board within wireless range. All boards have a Spin layer sitting under CP/M listening for login commands.

    I've built a simple menu system too so you can do file transfers without having to remember which version of xmodem to use and the commands to type.

    So - log in to any board, then send a file, receive a file, or run a terminal program where you talk to the remote computer directly. DIR, MBASIC, WORDSTAR all able to be run remotely via wireless.

    Screen capture of the program running:


    A>net4

    Welcome to CP/M networking for the Propeller
    1=ALPHA 2=BETA 3=GAMMA 4=DELTA 5=EPSILON 6=ZETA 7=ETA 8=THETA
    9=IOTA 10=KAPPA 11=LAMBDA 12=MU 13=NU 14=XI 15=OMICRON 16=PI
    17=RHO 18=SIGMA 19=TAU 20=UPSILON 21=PHI 22=CHI 23=PSI 24=OMEGA

    Enter board number 1 to 24 (0 =auto find): 2
    1 - Send a file
    2 - Get a file
    3 - Terminal
    9 - Logoff
    Enter your choice: 3

    Attempting login...
    #BET

    ~ to exit terminal program


    A>
    A>mbasic
    BASIC-80 Rev. 5.21
    [noparse][[/noparse]CP/M Version]
    Copyright 1977-1981 (C) by Microsoft
    Created: 28-Jul-81
    32824 Bytes free
    Ok
    system
    A>
    ~
    Logging off
    A>LOGOFF


    A>





    I originally had this only working in Z80 Assembler but with 1200 baud radios the link is slow enough to do this in a higher language, so I'm using Sbasic as it is easier to write than assembler (and I know Basic better than C). The only slightly strange thing about sbasic is that it is a one pass compiler, so the MAIN ends up at the end of the program, after all the functions and procedures have been declared. In any case, IMHO it is still a lot easier to read than MBASIC. Though I guess C would be better.

    comment
        *** Network program for Propeller Dracblade boards ***
        call small procedures first then bigger procedures
        as can't call/reference a later procedure (one pass compiler)
        Dim common variables eg arrays at beginning of program
    end
        $lines
        dim common string greek(26)
    
    rem *** functions and procedures ***
    
    procedure fill_greek_array
        greek(1)="ALPHA"
        greek(2)="BETA"
        greek(3)="GAMMA"
        greek(4)="DELTA"
        greek(5)="EPSILON"
        greek(6)="ZETA"
        greek(7)="ETA"
        greek(8)="THETA"
        greek(9)="IOTA"
        greek(10)="KAPPA"
        greek(11)="LAMBDA"
        greek(12)="MU"
        greek(13)="NU"
        greek(14)="XI"
        greek(15)="OMICRON"
        greek(16)="PI"
        greek(17)="RHO"
        greek(18)="SIGMA"
        greek(19)="TAU"
        greek(20)="UPSILON"
        greek(21)="PHI"
        greek(22)="CHI"
        greek(23)="PSI"
        greek(24)="OMEGA"
    end
    
    function ucase(mystring=string) = string
            var i=integer
            var outstring=string
            var ch=byte
            outstring = ""
            For i = 1 To Len(mystring)
                    ch = Mid(mystring, i, 1)
                    if ch>='a' and ch<='z' then ch=ch-32
                    outstring = outstring + Chr(ch)
            Next i
    end=outstring
    
    procedure delay(d=integer)
            Rem d is in milliseconds for 3.38 Mhz cpu
            Rem call with delay 5000   for 5secs
            Var r = Real
            Var i = Real
            r = d
            r=r/5 rem code much faster if use $lines
            For i = 1 To r
            Next i
    End
    
    procedure cls
        print chr(27);"[noparse][[/noparse]2J";
    end
    
    procedure orange_screen
        out 072H,0E0H
        out 073H,0H
    end
    
    procedure green_screen
        out 072H,034H
        out 073H,0H
    end
    
    procedure print_boards 
        var i,j=integer
        for i=1 to 24
            print i;"=";greek(i);"  ";
            j=j+1
            if j>7 then 
                begin
                    print        rem new line
                    j=0
                end
        next i
        print
    end
    
    procedure send_string_port2(lineoftext=string)
        rem send lineoftext to port2 and adds carriage return and lf
        var i=integer
        var a=integer
        for i=1 to len(lineoftext)
            a=asc(mid(lineoftext,i,1))
            print chr(a);
            out 078H,a
            delay 300 
            rem 200 is too quick
        next i
    end
    
    procedure login(a = string) 
        var lineoftext=string    
        lineoftext="#"+left(a,3)+chr(13)+chr(10)
        send_string_port2 lineoftext
    end
    
    procedure logoff
        send_string_port2 "LOGOFF"+chr(13)+chr(10)
    end
    
    function reply = integer
        rem looks for a A> coming back, returns s=0 for fail, 1 for success
        var a,b,t,s=integer
        cls
        orange_screen
        delay 1000        rem wait for remote board to wake up
        repeat
            begin
                a=inp(07DH)
                if a=33 then
                    begin
                        b=inp(078H)
                        print chr(b);
                    end
                t=t+1
            end
        until b=asc(">") or t=1000
        if t>999 then print "Timeout - no reply"
        if t>999 then s=0 else s=1
    end =s
    
    procedure clearbuffer
        var a,b=integer
        repeat
            begin
                a=inp(07DH)            rem test the port
                if a=33 then b = inp(078H) rem get the character
            end
        until a=32
    end
    
    function menuoptions = integer
        rem small amount of text so fits on LCD display
        var a=integer
        var menu2 = string
        print "1 - Send a file"
        print "2 - Receive a file"
        print "3 - Terminal"
        print "9 - Logoff"
        input2 "Enter your choice: ";a
    end = a
    
    procedure CommandDIR
        var a,b,t=integer
        delay 1000
        send_string_port2 "DIR"+chr(13)+chr(10)    var a,b=integer
        repeat
            begin
                a=inp(07DH)
                if a=33 then
                    begin
                        b=inp(078H)
                        print chr(b);        rem to local screen
                        t=0             rem reset the counter
                    end
                t=t+1
            end
        until t=1000
    end
    
    procedure terminal
        var a,head,tail,counter=integer
        dim integer buffer(16)
        print "~ to exit terminal program"
        repeat
            begin
                if inp(07DH)=33 then print chr(inp(078H)); rem port2 to local screen
                if inp(074H)=255 then
                    begin
                        a=inp(075H) rem get local keyboard character
                        buffer(head)=a        rem store in buffer
                        head=head+1
                        if head >15 then head=0
                        rem if a=13 then counter=1000   rem deleted bytes might be coming back
                    end    
                counter=counter+1    
                if counter>1000 then
                    begin
                        while head <> tail do
                            begin
                                out 078H,buffer(tail)
                                tail=tail+1
                                if tail>15 then tail=0
                            end
                        counter=0
                    end
            end
        until a=asc("~")
        print "Logging off"
    end
    
    procedure xmodemsend
        var filename,command=string
        INPUT2 "Filename to send: ";filename
        filename=ucase(filename)
        send_string_port2 "ERA "+filename+chr(13)+chr(10)
        delay 500
        clearbuffer
        command="XMODEM2 S "+filename
        send_string_port2 "XMODEM2 R "+filename+chr(13)+chr(10)
        print "Note this leaves the remote computer still logged in so run again to logoff"
        rem maybe do this as a submit file instead then run logoff?
        green_screen
        execute "STAT.COM",command    rem STAT is a dummy command
    end
    
    procedure xmodemreceive
        rem assumes local file does not exist - ? erase with a submit command
        var filename,command=string
        INPUT2 "Filename to receive: ";filename
        filename=ucase(filename)
        command="XMODEM2 R "+filename
        send_string_port2 "XMODEM2 S "+filename+chr(13)+chr(10)
        print "Note this leaves the remote computer still logged in so run again to logoff"
        rem maybe do this as a submit file instead then run logoff?
        green_screen
        execute "STAT.COM",command    rem STAT is a dummy command
    end
    
    rem ************ MAIN **************
        var a,s,menu1,menu2=integer
        print "Welcome to CP/M networking for the Propeller"
        clearbuffer                rem any characters in the buffer
        fill_greek_array            rem all the greek alphabet
        print_boards
        input2 "Enter board number 1 to 24 (0 =auto find): ";menu1
        menu2=menuoptions                 rem print options now logged in
        print menu2
        print "Attempting login..."
        login greek(menu1)            rem try to login
        s=reply                rem wait for something to come back, 1=success
        if s=1 then
            begin
                send_string_port2 chr(13)+chr(10) rem hit enter on remote machine to clear line
                if menu2=1 then xmodemsend
                if menu2=2 then xmodemreceive
                if menu2=3 then terminal rem done internally now as 1200 baud slow enough
                delay 300
                logoff
                cls
            end
        green_screen
    end
    
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller

    Post Edited (Dr_Acula) : 1/25/2010 1:53:05 PM GMT

  • mikedivmikediv Posts: 825
    edited 2010-01-25 20:57
    Damn Toby that was an excellent idea putting a wire through the hole I wish I read this before I started my repairs I already soldered in another wire wrap socket but left it sticking out of the board half way on each side so I can solder the topside traces that were also damaged. I am attempting repairs right now and will post if I was successful,, DR_A let me knwo when your new boards I ready I would like to order one either way
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-25 22:09
    mikediv

    The art of a fantastic project is in the outside 1/1000" that the light bounces off. Stick it in a box.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-25 23:17
    @mikediv - I have spare boards if you want one (or more). Plus or minus any of the hard to get parts.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • mikedivmikediv Posts: 825
    edited 2010-01-25 23:26
    OK this is for Toby YIPPIE ,, DR_A you are awesome ym friend thank you very much for all you have done and all the help to bad you don't live near by I would be happy to buy you a beer,lol ,, Well I have ben working on my board for a few hours and its working
    I have had it running for over an hour now even resetting it keeps right on booting CPM so I guess my next move is to try CPM stuff with it,,lol The pictures are blurry I just do not know how to take good pictures up close
    but you get the general idea of what I did
    Dr I would actually like to have a few extra boards to build please send me a paypal thing but use the divsilverado@yahoo.com that's how I have my paypal account the only real pain I have had in getting chips I did buy quite a few spares of everything else was the MAX232 I do not have any spares of that chip and when I try to buy it like we discussed there are 12 different versions and I Am still not sure I have the right one since I ended up using the SP232 which seems to be working for now
    ,,I would love to hear what you guys are running on your systems and does anyone have a version of basic that will run on this I would really like C or ASM but I am assuming memory on the prop would be a problem???
    2272 x 1704 - 997K
    2272 x 1704 - 995K
    2272 x 1704 - 964K
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-26 00:50
    I like the sexy long legs on the Propeller!

    re "so I guess my next move is to try CPM stuff with it"

    Yep. He's hooked!

    re 'The pictures are blurry". Yes, sometimes I take 10 photos to get the right one. Flash on. Flash off. Lo res close up. High res and move away then use Paintshop to cut and paste the relevant bit. My camera has an autofocus and it focusses on the little bit right at the centre of the screen. So sometimes I have to give it something to focus on. Eg when taking a photo of my vga monitor, I put the centre of the photo on the brand name writing at the top of the monitor. It can focus better on that. Then the screen of course fills only the bottom half of the photo so you have to crop the top bit off.

    Re max232 variants, I think most will work just fine. The only main differences are some are 1uF caps and some are 0.1uF caps. I've been using 1uF and it all seems to work ok.

    I'll rummage around and see if I can find some more boards.

    Re "but I am assuming memory on the prop would be a problem"

    Ah - this is the whole point of the exercise. You now have about 60k of ram for your programs (15,000 longs), which is more than the prop has.

    Mbasic I think is on the A drive. Sbasic and C and other languages are on the SIMH site, but they are floppy drive images. There is a bit of a trick to getting them into hard drive images - when I get home I might make a few of these as this is a frequent request.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller

    Post Edited (Dr_Acula) : 1/26/2010 1:04:10 AM GMT
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-26 07:39
    Any more height on that Prop, and it would get a nose bleed. lol.gif

    The reg with a cap might be a bit "un-pretty" but otherwise what are you worrying about ? It works, and if anybody comments just say that it is the experimentation board. My efforts start out as pretty as possible and then get dog ugly with "improvements"

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • heaterheater Posts: 3,370
    edited 2010-01-26 08:38
    mikediv, Well done.

    No probs, a CP/M system with 64K RAM is quite capable of running MicroSoft Basic. ASM is no problem, you can even rebuild the entire CP/M OS from source code on the DracBlade.

    For C, the is the BDS C compiler. Looks like Dr_A is going to get you set up with that.

    Then there's Pascal, ADA, Algol, PL/M, Fortran.......

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-01-26 11:11
    I still have the TurboPascal manuals V3 & V5

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

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-26 11:29
    *** Disk images ****

    This is a work in progress, but attached are the 8mb disk images for Sbasic and C.

    These come straight off the Altair SIMH site and it is a matter of creating a new blank i.dsk drive, making the floppy drive B, then doing a PIP I:=B:*.* and then renaming the i.dsk. Then zipped them up which in the case of sbasic shrunk it from 8mb to 95k.

    I can do this for any of the drive images on the Altair SIMH site.

    These images also work on all of Cluso's boards. Copy the drive in question to the sd card, then rename it (for the dracblade) something like B.DSK or C.DSK or D.DSK (don't use A.DSK as that contains the operating system)

    Also a zip of the N8VEM terminal program. This *will* need some setting up, but it does allow very fast compiles as C and Sbasic programs are compiled on the SIMH rather than on the board

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller

    Post Edited (Dr_Acula) : 1/26/2010 12:18:31 PM GMT
  • mikedivmikediv Posts: 825
    edited 2010-01-26 20:21
    Thanks Heater,, Hey Toby if your out there after more testing I am having problems with the 5 volt regulator going into thermal shutdown even with a big heat sink , I committed a design fuba and drove the 3 volt regulator off the 5 and since I only used the TO package the 3 leg
    regulator that looks like a transistor , its just to much current draw .. I am wondering what you ended up doing on your boards I am considering using one of the big metal can voltage regulators but I am also considering just running a separate 5 and 3 volts power supply
    to my board I really like having everything on the one board but the big metal can type regulator just might not fit.

    Oh guys I did get Mbasic and ASM to work I have WS but its been so long since I used it I have forgotten most of it lol

    Also DR_A I am having a problem getting my LCD to work is the driver in the basic package or do I need to run separate software
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-26 20:46
    Mikediv

    I have used both the SM 5V and 3.3V regs on the little boards, and TO220 types on the larger. The common mains PSU for all of them has been a 9V 2A SMPSU. The regs have all been driven from the 9Volts directly as I suspected the "Spacebar ..." error were due to PSU issues on the first atempt. The 5 V reg only does the KBD (and LCD bits) and has never been above slightly warm. The 3.3V regs get the 100-120mA load of the system, luke to pleasantly warm is what I get. That is with the TO220 sort just being bolted down onto the Fibreglass ( with a bolt through to the earth plain underneath )

    So the first question is, what input volts are you using ?? Obviously everything above the 5V dropout will mean unwanted heat.
    Second is what current if being used, KBD ?? LCD backlight ??

    Here are my layouts, and the second effort at SDRAM prototype bd. The one with the Heatsinks is the Blade2 and PropCMD original which has two props feeding off the rails.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
    640 x 480 - 52K
    640 x 480 - 51K
    640 x 480 - 51K
    640 x 480 - 52K
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-26 22:15
    Regulator going into thermal shutdown is the reason there are switchers on the board. I tried bigger and bigger heatsinks and eventually the heatsink was costing more than the cost of an inductor and switcher. I'm not quite sure why switchers are hard to source. I've yet to find one local supplier that sells all three parts. And also some have a 5 pin version of the 3V reg and some an 8 pin version. I'm getting the regs and diodes from Futurlec and the inductors from Rockby, though I think Future Electronics sell the inductors too.

    I'm tempted to make things easier in the future by putting together a kit of parts that include all the harder to get ones?

    Try seperate power supply. Or drop the input volts to 7V. Or quite a lot bigger heatsink.

    Re the LCD - the software is already there so it is more likely a wiring error.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-01-26 22:21
    Hi Dr_Acula,

    If I know that I will not be using a lot of current from 3.3V, I use the output of the 5V regulator for the 3.3V regulators input - then the 3.3V regulator stays cool.

    Also I usually use 7.5V wall-warts, and have a 1N4007 between the power jack and the input of the 5V regulator - this also helps control the waste heat coming from the 5V regulator.

    By doing the above, Morpheus, with a fully populated Mem+, does not even need heat sinks for the voltage regulators!

    Hope this helps,

    Bill
    Dr_Acula said...
    Regulator going into thermal shutdown is the reason there are switchers on the board. I tried bigger and bigger heatsinks and eventually the heatsink was costing more than the cost of an inductor and switcher. I'm not quite sure why switchers are hard to source. I've yet to find one local supplier that sells all three parts. And also some have a 5 pin version of the 3V reg and some an 8 pin version. I'm getting the regs and diodes from Futurlec and the inductors from Rockby, though I think Future Electronics sell the inductors too.

    I'm tempted to make things easier in the future by putting together a kit of parts that include all the harder to get ones?

    Try seperate power supply. Or drop the input volts to 7V. Or quite a lot bigger heatsink.

    Re the LCD - the software is already there so it is more likely a wiring error.
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
    Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
    Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
    Las - Large model assembler Largos - upcoming nano operating system
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-26 22:51
    Now I'm confused. Either my choice of 9V is good, or there is a whole lot of current I am not using. Clusso agreed with my measurments on the Blade2, of about 100mA and so the DracBlades 120mA seemed about right given its VGA outputs, and KBDs, are additional. My KBD seems to take next to nothing, from the 5V rail, and I only have 20mA going through the LCD's backlight ( just enough to perk it up a bit, as it's only 2x16). I have loads of 12V SMPSUs so perhaps I'll have to try one of those to see if this makes all the difference. Perhaps it is my use of regulated SMPSUs that is sharing the heat, to another place. I hate unregulated "wall warts", the only thing they are useful for is throwing practice ( cats at 30 yards, optional )

    I totally hate things to get hot, most of my work is invoked by things being allowed to get too hot, for too long (every cloud ...)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-26 23:00
    Keyboards will vary a lot. VGA will be the same as for morpheus. Ditto SD card. LCD backlight is a 1k resistor in series with a led so maybe 5mA. The max232 might be up to 10mA.

    Running the Triblade off 12V the regs got very warm. But dropping it back to 7V made a big difference. Using 4001 diodes for voltage drop is a quick and simple fix. Though personally I am still going to recommend switchers, because, like Toby, I don't like things getting hot. I've pulled to bits countless electronics items where components have failed due to heat. You can see the burning on boards and just follow your nose to the source.

    Switchers are nice in that you can run them off a huge range of input voltages. 20V or whatever you have. I'm running some of these boards off 12V SLA batteries powered by solar panels and solar electricity is expensive, so I want to use every last little watt.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-01-26 23:00
    Personally, I'd try measuring the current being pulled at the 9V input, at 3.3V regulator, at and your 5V regulator. Find out how much current you are actually using.

    If you are sure you are drawing less than 1A total, put two or three 1N4004's or 1N4007's in-line, you will drop .7V at each one, thus reducing the voltage differential and heat generated at the voltage regulators.

    I strongly suspect that Morpheus with Mem+ draws more power than your setup, and I've never had a thermal shutdown, not even using 9VDC in.
    Toby Seckshund said...
    Now I'm confused. Either my choice of 9V is good, or there is a whole lot of current I am not using. Clusso agreed with my measurments on the Blade2, of about 100mA and so the DracBlades 120mA seemed about right given its VGA outputs, and KBDs, are additional. My KBD seems to take next to nothing, from the 5V rail, and I only have 20mA going through the LCD's backlight ( just enough to perk it up a bit, as it's only 2x16). I have loads of 12V SMPSUs so perhaps I'll have to try one of those to see if this makes all the difference. Perhaps it is my use of regulated SMPSUs that is sharing the heat, to another place. I hate unregulated "wall warts", the only thing they are useful for is throwing practice ( cats at 30 yards, optional )

    I totally hate things to get hot, most of my work is invoked by things being allowed to get too hot, for too long (every cloud ...)
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com 5.0" VGA LCD in stock!
    Morpheus dual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory/IO kit $89.95, both kits $189.95 SerPlug $9.95
    Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
    Las - Large model assembler Largos - upcoming nano operating system
  • mikedivmikediv Posts: 825
    edited 2010-01-27 01:33
    That's interesting becuase while I am driving the 3 volt regulator off the 5 volt regulator the 3 volt runs around 88 degrees while the 5 volt will hit over 100 in a few minutes the board will run this program

    Mbasic

    10 print"hello mike";
    20 goto 10

    I only have keyboard , VGA monitor , SD card I do not have the LCD connected ,, you can see in some of my pictures I posted the 5 volt reg has a pretty good size heat sink the 3 volt has none with a temperature gun after 1.8 minutes the 3 volt is 88 degrees the 5 volt 101
    in a little more than 2 minutes the 5 volt goes into thermal shut down I get hit space bar for next instruction or something similar on the screen and the board will stop working. I have a DMM on both reg so I can see the 5 volts go away
    Oh I do not have the RS-232 cable connected either the part numbers are as follows.
    5 volt LM7805C Texas instruments
    3 volt LM293/ET 3.3

    I am supplying the system with regulated 9 volts I have even tried 7 the power supply is programmable but it does not really change anything after cool down the board will boot CPM and run fine for a few minutes
    I tried a Pelitier junction on the 5 volt and it actually worked for around 10 minutes but of course this is not practical at all
    Toby DR_A any thoughts , I had to raise the prop chip that high becuase I had to solder underneath it to fix the broken lans I got an order from Digi key today and received 6 max232, 12 74hc374 12 74hc138 and a bunch of the BC547s
    I already had 4 of the memory chips I got from the place DR_A sent me to Futurc somehting so I am ready to build a few more boards LOL,,
    I am wondering if somehting on my board is drawing excessive current I did pull the inductors and just jumped them out I only used a 1000uf cap for my big cap and double checked all the solder joints for bridges
    Its been a long time since I used CPM can anyone tell me how to use the autoexec??? can I just make an autoexec file with ed or ws and use CPM commands like

    ED autoexec
    Mbasic
    run"mike"
    so it will run my autoexec file on boot up???? Bill you make a good point I am sure all though DR_A could confirm this board would not draw more than 1 Amp ,, """"DR_A that's why I wanted another board by the way I plan on building the way you designed it and use the right regulators
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-27 03:14
    This is all as would be expected. Anything drawing excessive current would also be hot so you can feel the back of the chips etc but they should all be cold except the prop chip which gets slightly warm. Current is also going off the to the keyboard. Maybe try pulling the keyboard out and see if things are so hot? (The LCD takes hardly anything). Just as an experiment, try pulling the VGA and even the SD card - then the regs should be ok. Mike - I have two boards ready to send you but it might make things a whole lot easier if I send some switching regs as well. I'll have a rummage round in the shed and see what I can find.

    Meanwhile, you can always add a bigger heatsink. Just guessing that one looks about 20C/W. Bigger = lower C/W.

    If you really want a simple solution while waiting for the new boards, put those regs off-board and bolt each of them to a big lump of metal. Anything will do. (I'm not sure about the pinouts of your regs, but just watch the centre pin is the same as the metal of the TO220 case and you either need an insulating washer or different bits of metal for each reg - unless they are both centre ground like the 7805. Just guessing here as many 3V regs have different pinouts).

    Re autoexec the file is autoexec.sub and yes, you can add lines to that with ED. Have you got wordstar working yet?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller

    Post Edited (Dr_Acula) : 1/27/2010 3:26:34 AM GMT
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-01-27 06:16
    The TO92 package regulator is only good for 100mA or so. An input voltage 2V above the output is basically the limit. The TO92 regulators should really not be used here.

    Your problem is most likely the input to the 5V regulator is too high. An unregulated 9V supply rated for 100mA will give 9V at 100mA, whereas a 9V 1A supply will likely give 12V at 100mA. This is often not understood.

    A PS2 keyboard may draw up to 250mA. The newer keyboards will draw a lot less.

    For your problem, I suggest you look for a 5V regulated supply for a mobile phone, camera or some other PC peripheral. There are plenty around these days.

    I use the LM1117DT which is an smt TO252 package. Provided you have an adequate track ground plane for a heatsink, these are quite effective. Personally, I do not like switchers if I can avoid them. Just choose a suitable power pack.

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

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-27 07:27
    Wall warts are quoted at full running current. Full running current is quoted as the point where they can just limp through the warrenty (if any) period before bursting into flames.

    They have whoefully inadiquate iron cores and wire so thin that it doubles up as the thermal fuse, if you are lucky. They put out double quoted volts off load and then, by internal resistance and inadiquate smoothing, dive back to the quoted volts as the load approachies the rated value.

    They are a pile of poo. (IMHO)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-01-27 07:35
    Toby: It totally depends on the original design specification. Most of what you say is valid for many power packs, but not all.

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

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-27 08:37
    As I was staring at the rear end of a truck, on the way to work, I thought that I·meant to·have put "Unregulated wall warts .....". Even then the regulated ones are not that much better. The 9 Volts test might have been less distructive if I had used a pathetic PSU, Hey-Ho.

    I am spoilt in having easy access to SMPSU ones ( and they are usually too small for their own good, heatwise).


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-27 10:22
    *** New Dracblade source code allows access to full 512k ram from within CP/M ****

    in Basic you can write

    A=PEEK(5000)

    with this new code you can write

    A=PEEK_EXTENDED(500000)

    MBASIC test code is in the main spin code as a comment underneath PRI Peek_RAM but I think this is neater to explain with SBASIC. C code ought to be similar. The biggest problem is a lot of functions in BASIC don't work any higher than 65535 - eg MOD and integer division and bitwise logical AND. So something like splitting a long into bytes takes a lot more lines of code than the equivalent in Spin. Anyway, this is a tiny test program in sbasic which pokes a byte to any location and then reads it back. Use caution with addresses under 255 and between about 50000 and 65535 as these are used by CP/M.
        var address=fixed
        var value=integer
        input "Address value (0-524287): ";address
        input "Value (0-255): ";value
        print "Poking variable ";value;" to address ";address
        Poke_Extended address,value
        print "Peeking the location =";Peek_Extended(address)    
    
    



    and the full program with these procedures
    procedure Send_Address (address=fixed)
        var byte,temp,temp2=fixed
        rem mod, integer division and bitwise AND don't work with big numbers
        byte=int(address/65536)
        poke 082H,byte
        temp=byte*65536
        temp2=address-temp
        byte=int(temp2/256)
        poke 081H,byte
        temp2=temp2-temp
        byte=temp2
        poke 080H,byte
        rem    print address;peek(82H);peek(81H);peek(80H)
    end
    
    procedure Poke_Extended (address=fixed;d=integer)
        Send_Address address
        out 76H,d            rem port for high ram
    end
    
    function Peek_Extended (address=fixed) = integer
        var d=integer
        Send_Address address
        d=inp(76H)
    end=d
    
    rem ************ MAIN **************
        var address=fixed
        var value=integer
        input "Address value (0-524287): ";address
        input "Value (0-255): ";value
        print "Poking variable ";value;" to address ";address
        Poke_Extended address,value
        print "Peeking the location =";Peek_Extended(address)    
    end
    
    



    Behind the scenes there are a few lines of Spin to recombine the bytes and use the latch driver object.

    The above program in MBASIC
    10 REM poke then peek a value to ram (0 to 524287 ie to 2^19 minus 1)
    20 ADDRESS!=2^19-1
    30 PRINT ADDRESS!
    40 REM numbers >32768 both bitwise AND, MOD and \ integer division don't work
    50 GOSUB 120: REM send out the address
    60 OUT &H76,5:REM test byte
    70 GOSUB 120: REM resend address
    80 A=INP(&H76)
    90 PRINT A: REM should print out the value three lines up
    100 END: REM end of program
    110 REM **********************************************
    120 REM pass ADDRESS! up to 2^19 and splits into 3 bytes and puts in DMA
    130 BYTE!=INT(ADDRESS!/65536!)
    140 POKE &H82,BYTE!
    150 TEMP!=BYTE!*65536!
    160 TEMP2!=ADDRESS!-TEMP!
    170 BYTE!=INT(TEMP2!/256)
    180 POKE &H81,BYTE!
    190 TEMP!=BYTE!*256
    200 TEMP2!=TEMP2!-TEMP!
    210 BYTE!=TEMP2!
    220 POKE &H80,BYTE!
    230 RETURN
    
    




    Catalina and PropBasic could also use the full 512k but would talk directly to the latch driver object rather than via CP/M.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-27 12:32
    As soon as I restricted myself to 64KB, by using only two latches, I knew that some swine would go and get past that barrier, Hey-Ho. At least I have the full access on the "Spread out"

    Now I am going to have to get the SDRAM running. As in the photo above I have made a board that is easier to work on. I'll have to get a driver sorted out and then bend bit to suit the available pins. This might be as radical as using only 4 pins for vga and shifting the sdcard. If I can suss that lot out then I will have got the hang of this Prop thing.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-27 20:21
    I have downloaded a "spec sheet" from Micron which gives a lot more wordy explainations of the workings of SDRAM. I think I see why it isn't peoples' first choise. Blade2 type wiring would be easier but to get the spare pins for Dracblade will be trickier. At least the external latches are defined so well that they can be trusted to do their job and forgotten about.

    But the three chip 8, 16 or 32MB "CP/M" does have a ring to it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
Sign In or Register to comment.