Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. TI calculator/Z80 Hobby

TI calculator/Z80 Hobby

Scheduled Pinned Locked Moved The Lounge
helptutorialquestion
58 Posts 33 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Robert Surtees

    Think in a high level language prior to writing the assembly. You need to understand how to convert the basic high level constructs, if, for, while, switch and the like into the assembly language. It's then just a matter of playing the role of a human non-optimizing compiler by translating each high level atatement into the assembly code.

    P Offline
    P Offline
    puromtec1
    wrote on last edited by
    #10

    Thanks. There are actually some good resources for those translations online. The trouble I run into is when I attempt to wing it myself and then realize that the "ld" command does not work with every combination of registers that exists like the one I had happened to type. My real beef is with the ancient IDE I am using and weak debug tools.

    R C D 3 Replies Last reply
    0
    • P puromtec1

      Thanks. There are actually some good resources for those translations online. The trouble I run into is when I attempt to wing it myself and then realize that the "ld" command does not work with every combination of registers that exists like the one I had happened to type. My real beef is with the ancient IDE I am using and weak debug tools.

      R Offline
      R Offline
      Robert Surtees
      wrote on last edited by
      #11

      IDE = 8 data switches, 8 IP switches and a load key. Debugger = a single blinking diode. Just keep doing it, You'll soon spot the patterns.

      1 Reply Last reply
      0
      • P puromtec1

        I've taken up assembly programming as a hobby that I do at night time for the TI-83/84 calculators which has a Z80 processor. I did some assembly in college years back and have some interest in it again. However, this stuff just does not roll off the fingers like the high level languages I use at work. Does anyone here swim in assembly? Do you have any Jedi mind tricks in use while you code? I have all the needed resources/documentation, so I can figure out how to do anything I need. It is just the molasses between the keyboard and coder that is the problem.

        A Offline
        A Offline
        Abhinav S
        wrote on last edited by
        #12

        puromtec1 wrote:

        assembly programming as a hobby

        Why don't you pick up a hobby which has something to do with the outdoors instead? Wait a minute, I spend most of my time on the internet.... :)

        B 1 Reply Last reply
        0
        • E Ennis Ray Lynch Jr

          Pencil meet paper. With assembly (and I haven't done much) the trick I have found is to put it all on paper. You really need to know what you are writing before you code.

          Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane

          M Offline
          M Offline
          Mark_Wallace
          wrote on last edited by
          #13

          Ennis Ray Lynch, Jr. wrote:

          the trick I have found is to put it all on paper

          :thumbsup:

          I wanna be a eunuchs developer! Pass me a bread knife!

          1 Reply Last reply
          0
          • R Robert Surtees

            Think in a high level language prior to writing the assembly. You need to understand how to convert the basic high level constructs, if, for, while, switch and the like into the assembly language. It's then just a matter of playing the role of a human non-optimizing compiler by translating each high level atatement into the assembly code.

            L Offline
            L Offline
            leppie
            wrote on last edited by
            #14

            Wow, you would think they would invent something to deal with that, like a compiler ;P

            xacc.ide
            IronScheme - 1.0 RC 1 - out now!
            ((λ (x) `(,x ',x)) '(λ (x) `(,x ',x))) The Scheme Programming Language – Fourth Edition

            1 Reply Last reply
            0
            • P puromtec1

              I've taken up assembly programming as a hobby that I do at night time for the TI-83/84 calculators which has a Z80 processor. I did some assembly in college years back and have some interest in it again. However, this stuff just does not roll off the fingers like the high level languages I use at work. Does anyone here swim in assembly? Do you have any Jedi mind tricks in use while you code? I have all the needed resources/documentation, so I can figure out how to do anything I need. It is just the molasses between the keyboard and coder that is the problem.

              R Offline
              R Offline
              Roger Wright
              wrote on last edited by
              #15

              Put on your state machine hat and be prepared to use a lot of state transition diagrams. Pencil and paper are definitely required tools. I started by writing an assembler and O/S for the Intel 8080, and thought the Z-80 was God's gift to programmers. It was a generational advance over what I learned on. Draw a register map, and copy it many times. Ditto for a memory map. Do your initial designs in RTN (Register Transfer Notation) and make copious notes about each step on separate pages. Insert highlighted memory and register map pages as needed to see what you're doing to each. On each sheet, write notes to yourself about what you are trying to do, because you'll forget tomorrow. It's tedious, but far more rewarding intellectually than drawing cute pictures with the Windows APIs. Have fun! You're about to enjoy your profession far more than your peers will ever know... :-D

              "A Journey of a Thousand Rest Stops Begins with a Single Movement"

              G P 2 Replies Last reply
              0
              • P puromtec1

                I've taken up assembly programming as a hobby that I do at night time for the TI-83/84 calculators which has a Z80 processor. I did some assembly in college years back and have some interest in it again. However, this stuff just does not roll off the fingers like the high level languages I use at work. Does anyone here swim in assembly? Do you have any Jedi mind tricks in use while you code? I have all the needed resources/documentation, so I can figure out how to do anything I need. It is just the molasses between the keyboard and coder that is the problem.

                C Offline
                C Offline
                CPallini
                wrote on last edited by
                #16

                Wow, Z80 assembly is wonderful, IMHO far better than 6502 derivatives! Enjoy yourself programming it. :)

                If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                [My articles]

                R C 2 Replies Last reply
                0
                • P puromtec1

                  Thanks. There are actually some good resources for those translations online. The trouble I run into is when I attempt to wing it myself and then realize that the "ld" command does not work with every combination of registers that exists like the one I had happened to type. My real beef is with the ancient IDE I am using and weak debug tools.

                  C Offline
                  C Offline
                  CPallini
                  wrote on last edited by
                  #17

                  Z80 assembly developers use no IDE, the debugger is their brain. ;)

                  If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                  This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                  [My articles]

                  1 Reply Last reply
                  0
                  • P puromtec1

                    I've taken up assembly programming as a hobby that I do at night time for the TI-83/84 calculators which has a Z80 processor. I did some assembly in college years back and have some interest in it again. However, this stuff just does not roll off the fingers like the high level languages I use at work. Does anyone here swim in assembly? Do you have any Jedi mind tricks in use while you code? I have all the needed resources/documentation, so I can figure out how to do anything I need. It is just the molasses between the keyboard and coder that is the problem.

                    OriginalGriffO Offline
                    OriginalGriffO Offline
                    OriginalGriff
                    wrote on last edited by
                    #18

                    Start with a character output routine, that prints a character to a serial port, or to the display. Expand that to a string print, then add hex numbers. Now you can add debug statements, without having to single step anonymous code... It's the way I always started with new hardware!

                    You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy

                    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                    "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                    P 1 Reply Last reply
                    0
                    • A Abhinav S

                      puromtec1 wrote:

                      assembly programming as a hobby

                      Why don't you pick up a hobby which has something to do with the outdoors instead? Wait a minute, I spend most of my time on the internet.... :)

                      B Offline
                      B Offline
                      benjymous
                      wrote on last edited by
                      #19

                      Abhinav S wrote:

                      puromtec1 wrote: assembly programming as a hobby Why don't you pick up a hobby which has something to do with the outdoors instead?

                      Extreme assembly half way up a mountain?

                      Help me! I'm turning into a grapefruit! Buzzwords!

                      A P A 3 Replies Last reply
                      0
                      • P puromtec1

                        I've taken up assembly programming as a hobby that I do at night time for the TI-83/84 calculators which has a Z80 processor. I did some assembly in college years back and have some interest in it again. However, this stuff just does not roll off the fingers like the high level languages I use at work. Does anyone here swim in assembly? Do you have any Jedi mind tricks in use while you code? I have all the needed resources/documentation, so I can figure out how to do anything I need. It is just the molasses between the keyboard and coder that is the problem.

                        L Offline
                        L Offline
                        Lost User
                        wrote on last edited by
                        #20

                        It rolls off the fingers after a couple of years.

                        Join the cool kids - Come fold with us[^]

                        1 Reply Last reply
                        0
                        • P puromtec1

                          I like the idea. The main issues revolve around the craptastic Zilog Developer Studio not letting my wheel scroll the page and also, when debugging in the TI-83 emulator, i really don't know where the !@#$ I am a lot of times while I step through the instructions, since my nice labels are removed at compilation time.

                          R Offline
                          R Offline
                          Russell Jones
                          wrote on last edited by
                          #21

                          You use a mouse to program Z80? When I were lad we used switches and we were grateful...

                          1 Reply Last reply
                          0
                          • C CPallini

                            Wow, Z80 assembly is wonderful, IMHO far better than 6502 derivatives! Enjoy yourself programming it. :)

                            If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                            This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                            [My articles]

                            R Offline
                            R Offline
                            Russell Jones
                            wrote on last edited by
                            #22

                            I hope you're not trying to spark a religious war! My BBC is most certainly better than your Spectrum :-P

                            C 1 Reply Last reply
                            0
                            • R Russell Jones

                              I hope you're not trying to spark a religious war! My BBC is most certainly better than your Spectrum :-P

                              C Offline
                              C Offline
                              CPallini
                              wrote on last edited by
                              #23

                              Russell Jones wrote:

                              I hope you're not trying to spark a religious war!

                              We don't need. War is over. We've won it. ;P

                              Russell Jones wrote:

                              My BBC is most certainly better than your Spectrum :-P

                              Maybe. However the ZX made me a Klingon Developer. :-D

                              If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                              This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                              [My articles]

                              1 Reply Last reply
                              0
                              • C CPallini

                                Wow, Z80 assembly is wonderful, IMHO far better than 6502 derivatives! Enjoy yourself programming it. :)

                                If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                                This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                                [My articles]

                                C Offline
                                C Offline
                                Caslen
                                wrote on last edited by
                                #24

                                Yeah - the 6502 programmers were like the Apple fanboys of today, hoplessly defending a lost cause ;P

                                1 Reply Last reply
                                0
                                • P puromtec1

                                  I've taken up assembly programming as a hobby that I do at night time for the TI-83/84 calculators which has a Z80 processor. I did some assembly in college years back and have some interest in it again. However, this stuff just does not roll off the fingers like the high level languages I use at work. Does anyone here swim in assembly? Do you have any Jedi mind tricks in use while you code? I have all the needed resources/documentation, so I can figure out how to do anything I need. It is just the molasses between the keyboard and coder that is the problem.

                                  M Offline
                                  M Offline
                                  Marc Clifton
                                  wrote on last edited by
                                  #25

                                  After BASIC, I lived in 6502 and 8086 assembly language for years, in addition to a smattering of embedded system processors, one of which was a cool extension to the Z80 but I can't remember which one. Even in assembly language though, I never did anything with the Motorola CPU's, 6800, 68000, etc. Contrary to what Robert said, throw away everything you've learned about high level languages. Think in terms of 4 (or is it 2?) puny little variables, a pointer or two, and a whole lot of little cells to put stuff into and grab it out of. Forget structure, if-then-else, switches, loops, etc, and think in terms of signed compares, equality compares, and increments and decrements. Oh, and create a consistent "interface" for subroutines. What registers are the input registers, what registers are the output registers? Personally, I would love to toss out all this object oriented crap and, with enough little subroutines, I imagine I could code just as quickly in assembly. Marc

                                  P 1 Reply Last reply
                                  0
                                  • P puromtec1

                                    Thanks. There are actually some good resources for those translations online. The trouble I run into is when I attempt to wing it myself and then realize that the "ld" command does not work with every combination of registers that exists like the one I had happened to type. My real beef is with the ancient IDE I am using and weak debug tools.

                                    D Offline
                                    D Offline
                                    DaveyM69
                                    wrote on last edited by
                                    #26

                                    puromtec1 wrote:

                                    IDE

                                    puromtec1 wrote:

                                    debug tools

                                    You've been spoilt by these modern nancy boy tools and languages!

                                    Dave

                                    If this helped, please vote & accept answer!

                                    Binging is like googling, it just feels dirtier. (Pete O'Hanlon)
                                    BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)

                                    1 Reply Last reply
                                    0
                                    • OriginalGriffO OriginalGriff

                                      Start with a character output routine, that prints a character to a serial port, or to the display. Expand that to a string print, then add hex numbers. Now you can add debug statements, without having to single step anonymous code... It's the way I always started with new hardware!

                                      You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy

                                      P Offline
                                      P Offline
                                      puromtec1
                                      wrote on last edited by
                                      #27

                                      I like...

                                      1 Reply Last reply
                                      0
                                      • M Marc Clifton

                                        After BASIC, I lived in 6502 and 8086 assembly language for years, in addition to a smattering of embedded system processors, one of which was a cool extension to the Z80 but I can't remember which one. Even in assembly language though, I never did anything with the Motorola CPU's, 6800, 68000, etc. Contrary to what Robert said, throw away everything you've learned about high level languages. Think in terms of 4 (or is it 2?) puny little variables, a pointer or two, and a whole lot of little cells to put stuff into and grab it out of. Forget structure, if-then-else, switches, loops, etc, and think in terms of signed compares, equality compares, and increments and decrements. Oh, and create a consistent "interface" for subroutines. What registers are the input registers, what registers are the output registers? Personally, I would love to toss out all this object oriented crap and, with enough little subroutines, I imagine I could code just as quickly in assembly. Marc

                                        P Offline
                                        P Offline
                                        puromtec1
                                        wrote on last edited by
                                        #28

                                        Marc Clifton wrote:

                                        Motorola CPU's, 6800

                                        Believe it or not, that realization was made two weeks into the endeavor. I also wagered that someone without knowledge of any high-level language could maybe do better at assembly.

                                        Marc Clifton wrote:

                                        Motorola CPU's, 6800

                                        I did some 6800 in college in a random mechanical engineering class I took just for the heck of it. That was fun. Controlled stepper motors, interpreted sensors, etc. Thanks for the guidance. This CP crowd has delivered for sure on this topic.

                                        1 Reply Last reply
                                        0
                                        • R Roger Wright

                                          Put on your state machine hat and be prepared to use a lot of state transition diagrams. Pencil and paper are definitely required tools. I started by writing an assembler and O/S for the Intel 8080, and thought the Z-80 was God's gift to programmers. It was a generational advance over what I learned on. Draw a register map, and copy it many times. Ditto for a memory map. Do your initial designs in RTN (Register Transfer Notation) and make copious notes about each step on separate pages. Insert highlighted memory and register map pages as needed to see what you're doing to each. On each sheet, write notes to yourself about what you are trying to do, because you'll forget tomorrow. It's tedious, but far more rewarding intellectually than drawing cute pictures with the Windows APIs. Have fun! You're about to enjoy your profession far more than your peers will ever know... :-D

                                          "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                                          G Offline
                                          G Offline
                                          Gary Wheeler
                                          wrote on last edited by
                                          #29

                                          Roger Wright wrote:

                                          You're about to enjoy your profession far more than your peers will ever know...

                                          Roger, you're such a perv :laugh:.

                                          Software Zen: delete this;

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups