Announcement

Collapse

Forum etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


"PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

ANNOUNCE: VCF East XIII 8085 Single Board Computer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    ANNOUNCE: VCF East XIII 8085 Single Board Computer

    Some of you may have noticed that I've been extra busy/slow to reply lately. It's not just because of taxes This is on my bench:



    We got together on the idea of a special edition vintage computer project for VCF East last year, but there wasn't enough time between when someone mentioned the idea and the event to actually get it done. This year, I've revised my 8085 SBC design into a larger, more full-featured board as seen above. Specs as follows:
    • 8085 CPU
    • 64K Static RAM
    • 32K ROM available in 4K pages
    • Autoboot/ROM switchout circuit
    • 8251A USART for console port
    • DS1233 EconoReset
    • Baud rates from 300 - 38400, baud clock independent of CPU clock
    • GlitchBus expansion header
    • Single 5V power supply


    The board is 8x5 inches, the GlitchBus expansion stacking area provides for a 4x5 inch board. Currently I've got the prototype version running GWMON, my ROM monitor, from Ferroelectric RAM in the ROM socket. The goal is to have a customized monitor and fully functional BASIC by VCF East. This is also the first board to commit to a GlitchBus pinout/layout -- several of us have been working together offline and through IRC to get it nailed down. Eventually, you'll be able to add a storage controller (CF, floppy, etc.) via GlitchBus and boot/run CP/M! The ROM can be switched out under software control, so the full 64K of RAM will be available to user programs. The board also supports FeRAM, so it's possible to have a core-like setup for main memory. If you use FeRAM or an EEPROM in the ROM socket, the board can update its own firmware.

    This revision is going to be released at VCF East XIII and is a special edition that will probably be limited to the show. We'll be doing an event-long workshop to build and test the SBC at InfoAge during VCF East, just like we did with the XT-IDE and Apple II prototyping workshop last year. If you choose to assemble your board at VCF East, you'll leave with a 100% tested and working 8085 SBC. I may bring a very few CRT terminals to make available to builders of the 8085 SBC.

    Evan got me a high-res PNG version of the VCFed logo, which I was able to work into a copper-and-silkscreen graphic for the PC board:



    I haven't nailed down a price for parts kits yet -- that will be forthcoming.

    NO PALs, GALs, CPLDs, OR FPGAs! NO SPARE GATES!
    Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More

    #2
    Somewhat off topic question: What is the part family for those red connectors? I have a board with a 3-pin connector that looks like the same family and I need a matching plug for it. What tool and die set do you use to crimp the pins for those connectors?

    Comment


      #3
      Originally posted by gslick View Post
      Somewhat off topic question: What is the part family for those red connectors? I have a board with a 3-pin connector that looks like the same family and I need a matching plug for it. What tool and die set do you use to crimp the pins for those connectors?
      Molex KK-100 (now KK-254) series. I use a Paladin PA1645 to crimp them. Don't waste your time on a really cheap hand crimper, they're garbage -- I've got a $30 and a $40 set in the "tools to use as bludgeons" drawer. I found my PA1645 used for a good price, I want to say under $75. It'll work with many types of crimp connectors, but is the tool specified by Molex for KK-100 and KK-156.
      Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More

      Comment


        #4
        I'm just curious as to its' capabilities and what are the output options?
        Daniel P. Cayea - The Lyon Mountain Company - Plattsburgh, New York 12901
        Vintage Equipment: IBM 5150 * IBM 5161 * ThinkPad 770ED
        Modern Equipment: MacBook Pro 13 * Alienware M15R3

        Comment


          #5
          Originally posted by lyonadmiral View Post
          I'm just curious as to its' capabilities and what are the output options?
          Well, it's an 8085 (8080 compatible instruction set) computer with 64K RAM It can do roughly what an Altair or IMSAI can do. The onboard serial console is RS-232. With the GlitchBus expansion header, though, just about anything can be wired up to it.

          I started thinking about the central idea to GlitchBus apparently in November 2010:

          http://www.vcfed.org/forum/showthrea...ther-8-bit-kit

          The idea being, the bus structure is optimized to allow most 8-bit CPUs to be in control of it. I'm working on a set of boards to provide all of the basic functions you need for a computer -- RAM, ROM, serial, parallel, counter/timer, disk storage, etc. The 8085 SBC integrates CPU, RAM, ROM, and a serial channel all on one board, but will be fully compatible with any future GlitchBus boards I or anyone else designs. Personally, I'd like to get a CF card interface going so I can run CP/M on my 8085 SBC
          Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More

          Comment


            #6
            Originally posted by glitch View Post
            Well, it's an 8085 (8080 compatible instruction set) computer with 64K RAM It can do roughly what an Altair or IMSAI can do. The onboard serial console is RS-232. With the GlitchBus expansion header, though, just about anything can be wired up to it.

            I started thinking about the central idea to GlitchBus apparently in November 2010:

            http://www.vcfed.org/forum/showthrea...ther-8-bit-kit

            The idea being, the bus structure is optimized to allow most 8-bit CPUs to be in control of it. I'm working on a set of boards to provide all of the basic functions you need for a computer -- RAM, ROM, serial, parallel, counter/timer, disk storage, etc. The 8085 SBC integrates CPU, RAM, ROM, and a serial channel all on one board, but will be fully compatible with any future GlitchBus boards I or anyone else designs. Personally, I'd like to get a CF card interface going so I can run CP/M on my 8085 SBC
            I've been a big fan of Gary Kildall, RIP, but have never used CP/M ever before. Only copy I ever had was for a Xerox machine that I didn't possess.
            Daniel P. Cayea - The Lyon Mountain Company - Plattsburgh, New York 12901
            Vintage Equipment: IBM 5150 * IBM 5161 * ThinkPad 770ED
            Modern Equipment: MacBook Pro 13 * Alienware M15R3

            Comment


              #7
              Friday, I stopped by the warehouse and picked up the rest of the discrete passives needed for kits (resistors, capacitors, and wire). Yesterday, I wrote an Intel HEX loader for GWMON-80 so that I could stop messing with getting software in via "Load Format" pastes (e.g. processing the output from an assembler into a form that could be uploaded into the ROM monitor directly). The HEX loader got finished up this morning and works great! It'll handle CR+LF (Windows/DOS) or LF only (*NIX) line endings, too.

              With the HEX loader written, I can upload code a lot faster, and there's less chance of errors, especially on files that have gaps in the middle -- that used to require splitting the file and making multiple load format files. That makes software development a lot easier. I was able to get Erik Mueller's MINOL BASIC built and running on the 8085 SBC this afternoon. This monitor capture shows a cold boot into the ROM monitor, loading MINOL via the Intel HEX loader, jumping into the just-loaded code, and entering a test program from the MINOL manual:

              Code:
              
              GWMON-80 0.1.1 for 8080/8085/Z80 and Compatible
              Copyright (c) 2018 The Glitch Works
              Running at 0xF000
              Built with Intel 8251 I/O module
              
              >l
              :0700000031FF0FCFC34E00DA
              :03000800C3320000
              :0E001000DB01E602CA1000DB00E67FF22600EC
              :1F002000CDF802FEFFC8F5DB01E601CA2700F1D300C9F53E0DCD26003E0ACD2600F1C9D7
              :20004E003E5DE7CD3F042198067ECD4405D20001237ECD4405DA5E00CDC1041100071AFE29
              :20006E000D13C26C001AFEFFCA7F00373FB8DA6C007EFE0DCAE6000E02237E0CFE0DC28706
              :20008E00001AB8C29900D5CDEA00D1626BD51B131AFEFFC29D0079424B1323F57BFEFFC217
              :2000AE00B6007AFE0FCAA804F13DC2A7000A127BBDC2C7007ABCCACC000B1BC3BB00D121A9
              :2000CE009806237ECD4405DAD0003A5B0312137E1223FE0DC2DC00C7CDEA00C71AB8C062C1
              :2000EE006B237EFE0DC2EF00237E12FEFFC813C3F600CFAF325C03C321012100077EFE3A14
              :20010E0023CA2101FE0DC20B017EFEFFCA0000325C0323CDF802237EFE3DCA91012B7EFE4A
              :20012E0028CA9101FE43C24601237EFE41CAD902FE4CCACA02C39904FE45CA0000FE47CA02
              :20014E001103FE22CA0B01FE4ECAED02FE50CADA01FE4FCA00F0FE52CA0801FE49C27D01DE
              :20016E00237EFE4ECA5102FE46CADF05C39904FE4CC29904237EFE45CA9101FE49CA6605B0
              :20018E00C399047ECD3505DAA304FE3D23C291011179067E12CD35052313D2A101CD79031F
              :2001AE007EFE3D2BC2AE017ECD0C05D2C401CDF6047912C30B01FE29C29E042B7EFE28C2AC
              :2001CE00C90179F5CD3E06F102C30B0123237ECD3505DA1102FE22C21502237EFE22CAF9D1
              :2001EE0001CD3505DAA304E7C3E801237ECD3505DA1102FE3BC2A304237ECD3505DA120208
              :20020E00C3E301CFC30B01FE24CA41021179063E20E77E122313CD3505DA2F02FE3BC22094
              :20022E00022B1B3E0D12CD790341CD88053E20E7C3FA0123CD3E060AE7FEFF03C2450223D3
              :20024E00C3FA0123DBFFFE00C25F023E3FE73E20E77ECD0C05DA7702FE24CAAA02FE28C2DC
              :20026E009E04CD7303E5C37B02E5CDF604D5CD3F04CF2198067ECD4405D29702237ECD4496
              :20028E0005DA8A02C5CDC104C1D112E1237EFE2CCA5102CD3505DA0B01C3A30423CD3E0696
              :2002AE00E5C5CD4104C1CF2198067EFE0DCAC402020323C3B8023EFF02C39902111905AFEC
              :2002CE0012137BFE34C2CD02C30B01232323CD3E06E5D511E802D56069E9D1E1C30B011196
              :2002EE0000073E0D12133EFF12C7F5DB01FE03CA0203F1C9D7D1D1D1D1CF115503CD0305E0
              :20030E00C3B30413232323231179067E12CD35052313D21903CD79034179FE00C233032151
              :20032E009806C300012100077EFE0D23C236037EFEFFCA8F04B8C23603C31701214552520E
              :20034E0020FF20415420FF425245414BFF000000C5EBCD3E06EB0AC14713C3AE037BB9C2FD
              :20036E002101C30B01CD3E065059C9E51178060E001ACD3505D28803E1C9F5131AFE27CA40
              :20038E000E04FE28CA5E03FE21CA1504CD4405DAFD03CD0C05D2A30413D5CDF6041A47D1C2
              :2003AE00F1FE2BCAC603FE2DCACC03FE2ACAD203FE2FCAE803C3A30479804FC37F03799015
              :2003CE004FC37F0379058105C2D4034FC37F0378B7790E00C00637C3AA04CDDD03790E00F2
              :2003EE000C90CAFA03DAF903C3EE030DC37F03131ACD4405DAFD03EBCDD305EB47C3AE035D
              :20040E00131A4713C36703213E0406087E070707AE17172D2D2D7E17772C7E17772C7E17AE
              :20042E00772C7E177704C21B0447C3670311995AE90E00219706D74779FE0078C25204FECA
              :20044E0020CA4404FE22C2640479FE00CA62040E00C364040E03FE0CC270043E5CE7CFC3CE
              :20046E003F04FE0DC27804C3D905FE13C284043E5FE72BC344047DFEE0CA94042370C344D5
              :20048E00040631C3AA040632C3AA040633C3AA040634C3AA040635C3AA040636CF114A038F
              :2004AE00CD030578E7115003CD03053A5C0347CD8805C7D52B7ED630472B7ECD4405DAD686
              :2004CE00040E001E00C3EB04D6304F2B7ECD4405DAE6041E00C3EA047ED6305F232323CD6C
              :2004EE00510578325B03D1C9E5111905D64126006F19EBE1C91AFEFFC8E713C30305373F6E
              :0B050E00FE41DA170537FE5BC93FC94C
              :20053500FE0DCA4205FE3ACA4205373FC937C9373FFE30DA4F0537FE3AC93FC93E0A8047E1
              :200555000DC251054B7BFEFFC83E6480470DC35D051101071AFEFFCA0B0147CD88053E2036
              :20057500E7131AE7FE0DC2830513CFC36905131AC37805C5D516004A78D664DA97050CC3A5
              :200595008E05066480473E3081FE30CAC405E70E0078D60ADAB0050CC3A705060A80473E66
              :2005B5003081FE30CAC905E73E3080E7D1C1C91601C3A4054FAFBA79C2BD05C3BC05C5CD4A
              :2005D500C104C1C923702336FFC9117906237EFE23CAFE05FE3DCAFE05FE3CCAFE05CD35D3
              :2005F50005DAA3041213C3E205F53E0D12CD7903C5117906237EFE3BCA1B06CD3505DAA358
              :20061500041213C30906233E0D12CD7903D1F1FE23CA6B03FE3CCA36067BB9CA2101C30BB8
              :20063500017BB9D20B01C32101D5117906237E12CD350513DAA304FE2CC242061B3E0D124E
              :20065500CD7903C5117906237E12CD350513DAA304FE29C25C061B3E0D12CD790379C14112
              :040675004FD1C92B6D
              :020700000DFFEB
              :00004E01B1
              
              >g 0000
              ]NEW
              
              ]LI
              
              ]10 PR"GIVE ME A SENTENCE":IN$(14,1)
              ]20 PR"STRING TO SEARCH FOR?":IN$(14,101)
              ]21 A=0
              ]22 A=A+1:IF(14,A)#255;GOTO22
              ]23 B=0
              ]24 B=B+1:IF(14,100+B)#255;GOTO24
              ]30 C=1:D=1:S=0
              ]40 IF(14,D+100)#(14,C);GOTO70
              ]50 D=D+1:C=C+1:IFD<B;GOTO40
              ]60 LETS=S+1
              ]65 C=C-1
              ]70 LETD=1
              ]80 C=C+1:IFC<A;GOTO40
              ]90 PR"'";$(14,101);"' OCCURS";S;
              ]96 IFS=1;GOTO100
              ]97 PR"TIMES IN '";$(14,1);"'":END
              ]100 PR"TIME IN '";$(14,1);"'":END
              ]LI
              10 PR"GIVE ME A SENTENCE":IN$(14,1)
              20 PR"STRING TO SEARCH FOR?":IN$(14,101)
              21 A=0
              22 A=A+1:IF(14,A)#255;GOTO22
              23 B=0
              24 B=B+1:IF(14,100+B)#255;GOTO24
              30 C=1:D=1:S=0
              40 IF(14,D+100)#(14,C);GOTO70
              50 D=D+1:C=C+1:IFD<B;GOTO40
              60 LETS=S+1
              65 C=C-1
              70 LETD=1
              80 C=C+1:IFC<A;GOTO40
              90 PR"'";$(14,101);"' OCCURS";S;
              96 IFS=1;GOTO100
              97 PR"TIMES IN '";$(14,1);"'":END
              100 PR"TIME IN '";$(14,1);"'":END
              
              ]RUN
              GIVE ME A SENTENCE
              VCF East XIII will be the best VCF East yet!
              STRING TO SEARCH FOR?
              VCF
              'VCF' OCCURS 2 TIMES IN 'VCF East XIII will be the best VCF East yet!'
              
              ]
              Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More

              Comment


                #8
                So what are the prices at the show I enjoyed last year
                a lot..
                Never Bin or sell your old computer's you will regret it!!
                Vic 20 x3,C64 x2,128D,C128 flat deck,A1000 x2,A500 x3,A2000,A600,A1200,Apple ][e,2x Apple][ GS rom 01,03,Apple ][c x4 with only 1 PSU,2x Laser 128EX EX2,Atari 600XL,2x 800XL,130XE w/320 mod With a MyIDE plus,Atari 1040stf w/2.5meg..

                Comment


                  #9
                  Originally posted by ChrisUnionNJ View Post
                  So what are the prices at the show I enjoyed last year
                  a lot..
                  Don't have a final price yet. Should have it this coming week.

                  I got IMSAI 8K BASIC running! It's a much more full-featured version than MINOL BASIC. I had to get the source assembling under A85 first, fix the console I/O, and then ran into an issue where the CRLF subroutine was adding RUBOUT (0xFF) characters to account for old Teletypes having to zip the carriage back to the left-hand stop from possibly the extreme right-hand stop on a CR. But, here it is:

                  Code:
                  
                  GWMON-80 0.1.1 for 8080/8085/Z80 and Compatible
                  Copyright (c) 2018 The Glitch Works
                  Running at 0xF000
                  Built with Intel 8251 I/O module
                  
                  >l
                  :200000002100243EAEC381007EFE20C023C30800C50600CF1AC36D1A1158220604C3411C6E
                  :17002000E37E23E3D5C33B001158220604C34C1CE3F5D5C5C3251C59
                  
                                      --- CUT DOWN FOR BREVITY ---
                  
                  :1C1FBB00800FCD881ACD5A1CE177C30B02CD800FCD881ACD291F210B02E5EBE9DA
                  :0022960147
                  
                  >g 0008K VERS 1.4
                  
                  READY
                  :NEW
                  :10 FOR I = 1 TO 100
                  :20 PRINT I;
                  :30 J = I / 20
                  :40 K = INT(J)
                  :50 IF J = K THEN PRINT
                  :60 NEXT I
                  :70 END
                  :LIST
                  10 FOR I = 1 TO 100
                  20 PRINT I;
                  30 J = I / 20
                  40 K = INT(J)
                  50 IF J = K THEN PRINT
                  60 NEXT I
                  70 END
                  
                  READY
                  :RUN
                   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20 
                   21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40 
                   41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60 
                   61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80 
                   81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99  100 
                  
                  READY
                  :
                  I cut down the Intel HEX load since it was quite long compared to MINOL.
                  Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More

                  Comment


                    #10
                    Well this type of computer will be A first for me and if
                    Glitch did not offer this kit I most likely would not even
                    look at this type..
                    Never Bin or sell your old computer's you will regret it!!
                    Vic 20 x3,C64 x2,128D,C128 flat deck,A1000 x2,A500 x3,A2000,A600,A1200,Apple ][e,2x Apple][ GS rom 01,03,Apple ][c x4 with only 1 PSU,2x Laser 128EX EX2,Atari 600XL,2x 800XL,130XE w/320 mod With a MyIDE plus,Atari 1040stf w/2.5meg..

                    Comment


                      #11
                      You'll have excellent support.
                      Thomas Byers (DRI)- "You'll have a million people using the A> [MS-DOS prompt] forever. You'll have five million using [nongraphic] menu systems such as Topview, Concurrent PC-DOS, Desq, and those types. But there'll be 50 to 100 million using the iconic-based interfaces."

                      Comment


                        #12
                        Any update on this project? I was busy this weekend, but may be able to come up tomorrow to catch the last day of VCF.

                        Comment


                          #13
                          Just got home from VCF East with my 8085 singleboard Glitchworks computer. very nice board indeed.

                          Thanks for making them available at such a reasonable price.

                          Cheers!
                          Last edited by waltermixxx; May 21, 2018, 12:39 AM.

                          Comment


                            #14
                            It's a gorgeous kit; I can't wait to put mine together.

                            "It's a me-too, 8-bit machine with good graphics and a disk system nobody will support."
                            -- Bill Gates, about the Sony SMC-70 with the new 3.5" floppy drives (InfoWorld; June 7, 1982)

                            Comment


                              #15
                              Glad everyone seemed to enjoy building this little kit! Everyone who built one at the show left with a fully functional board Full writeup, schematics, source code to follow -- I just have to find the time to finish writing it up and do a manual.
                              Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More

                              Comment

                              Working...
                              X