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. CAOTD (*): JavaScript is the new Assembly

CAOTD (*): JavaScript is the new Assembly

Scheduled Pinned Locked Moved The Lounge
javascriptdebugging
30 Posts 11 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.
  • L Offline
    L Offline
    Lost User
    wrote on last edited by
    #1

    It would be better to say that JavaScript is the new C64 BASIC. It's just as fast, efficient and fun to debug as any old interpreter and allows any {place insulting word of choice here] who was too dumb to understand object orientation or get used to data types to freely create programing horrors. (*) Cool-Aid of the day. Have a big cup. :)

    Sent from my BatComputer via HAL 9000 and M5

    D L A OriginalGriffO CPalliniC 8 Replies Last reply
    0
    • L Lost User

      It would be better to say that JavaScript is the new C64 BASIC. It's just as fast, efficient and fun to debug as any old interpreter and allows any {place insulting word of choice here] who was too dumb to understand object orientation or get used to data types to freely create programing horrors. (*) Cool-Aid of the day. Have a big cup. :)

      Sent from my BatComputer via HAL 9000 and M5

      D Offline
      D Offline
      DaveAuld
      wrote on last edited by
      #2

      You having a bad day?

      Dave Find Me On: Web|Facebook|Twitter|LinkedIn|GitHub


      Folding Stats: Team CodeProject

      OriginalGriffO 1 Reply Last reply
      0
      • D DaveAuld

        You having a bad day?

        Dave Find Me On: Web|Facebook|Twitter|LinkedIn|GitHub


        Folding Stats: Team CodeProject

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

        Just guessing, but I think he has started a Javascript maintenance project. His is the normal reaction as far as I can see...either that or he's getting ready to flood "The Weird and The Wonderful" with examples of "how to do it if you are terminally brain dead". Again, that is a perfectly normal reaction to a Javascript maintenance project! ;)

        The only instant messaging I do involves my middle finger. English doesn't borrow from other languages. English follows other languages down dark alleys, knocks them over and goes through their pockets for loose grammar.

        "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

        L 1 Reply Last reply
        0
        • L Lost User

          It would be better to say that JavaScript is the new C64 BASIC. It's just as fast, efficient and fun to debug as any old interpreter and allows any {place insulting word of choice here] who was too dumb to understand object orientation or get used to data types to freely create programing horrors. (*) Cool-Aid of the day. Have a big cup. :)

          Sent from my BatComputer via HAL 9000 and M5

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

          C64 BASIC was better. JavaScript should be ashamed of itself. It can go sit in the corner with the other "broken type system"-languages such as PHP and VB.

          1 Reply Last reply
          0
          • L Lost User

            It would be better to say that JavaScript is the new C64 BASIC. It's just as fast, efficient and fun to debug as any old interpreter and allows any {place insulting word of choice here] who was too dumb to understand object orientation or get used to data types to freely create programing horrors. (*) Cool-Aid of the day. Have a big cup. :)

            Sent from my BatComputer via HAL 9000 and M5

            A Offline
            A Offline
            AlphaDeltaTheta
            wrote on last edited by
            #5

            JavaScrrrrrrrrrrrrrrrripppppppt!!!!! If I had a time machine, I would have gone to past and burnt the blueprints!!!:mad:

            Beauty cannot be defined by abscissas and ordinates; neither are circles and ellipses created by their geometrical formulas. Carl von Clausewitz Source

            CPalliniC M 2 Replies Last reply
            0
            • L Lost User

              It would be better to say that JavaScript is the new C64 BASIC. It's just as fast, efficient and fun to debug as any old interpreter and allows any {place insulting word of choice here] who was too dumb to understand object orientation or get used to data types to freely create programing horrors. (*) Cool-Aid of the day. Have a big cup. :)

              Sent from my BatComputer via HAL 9000 and M5

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

              Wash your keyboard out with SOAP! I quite like Assembly code...

              The only instant messaging I do involves my middle finger. English doesn't borrow from other languages. English follows other languages down dark alleys, knocks them over and goes through their pockets for loose grammar.

              "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

              L 1 Reply Last reply
              0
              • OriginalGriffO OriginalGriff

                Just guessing, but I think he has started a Javascript maintenance project. His is the normal reaction as far as I can see...either that or he's getting ready to flood "The Weird and The Wonderful" with examples of "how to do it if you are terminally brain dead". Again, that is a perfectly normal reaction to a Javascript maintenance project! ;)

                The only instant messaging I do involves my middle finger. English doesn't borrow from other languages. English follows other languages down dark alleys, knocks them over and goes through their pockets for loose grammar.

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

                Close. Very close.

                Sent from my BatComputer via HAL 9000 and M5

                1 Reply Last reply
                0
                • OriginalGriffO OriginalGriff

                  Wash your keyboard out with SOAP! I quite like Assembly code...

                  The only instant messaging I do involves my middle finger. English doesn't borrow from other languages. English follows other languages down dark alleys, knocks them over and goes through their pockets for loose grammar.

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

                  OriginalGriff wrote:

                  Wash your keyboard out with SOAP!

                  Good idea. I have downloaded Apache Axis and wanted to take a look at it.

                  Sent from my BatComputer via HAL 9000 and M5

                  1 Reply Last reply
                  0
                  • L Lost User

                    It would be better to say that JavaScript is the new C64 BASIC. It's just as fast, efficient and fun to debug as any old interpreter and allows any {place insulting word of choice here] who was too dumb to understand object orientation or get used to data types to freely create programing horrors. (*) Cool-Aid of the day. Have a big cup. :)

                    Sent from my BatComputer via HAL 9000 and M5

                    CPalliniC Offline
                    CPalliniC Offline
                    CPallini
                    wrote on last edited by
                    #9

                    Well, it is a scripting language, after all: the one having even the very name misleading. :-D

                    Veni, vidi, vici.

                    In testa che avete, signor di Ceprano?

                    1 Reply Last reply
                    0
                    • A AlphaDeltaTheta

                      JavaScrrrrrrrrrrrrrrrripppppppt!!!!! If I had a time machine, I would have gone to past and burnt the blueprints!!!:mad:

                      Beauty cannot be defined by abscissas and ordinates; neither are circles and ellipses created by their geometrical formulas. Carl von Clausewitz Source

                      CPalliniC Offline
                      CPalliniC Offline
                      CPallini
                      wrote on last edited by
                      #10

                      Amitosh S.M. wrote:

                      blueprints

                      Blueprints? :-)

                      Veni, vidi, vici.

                      In testa che avete, signor di Ceprano?

                      R K 2 Replies Last reply
                      0
                      • A AlphaDeltaTheta

                        JavaScrrrrrrrrrrrrrrrripppppppt!!!!! If I had a time machine, I would have gone to past and burnt the blueprints!!!:mad:

                        Beauty cannot be defined by abscissas and ordinates; neither are circles and ellipses created by their geometrical formulas. Carl von Clausewitz Source

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

                        Amitosh S.M. wrote:

                        If I had a time machine, I would have gone to past and burnt the blueprints!!!

                        I would go back even further and burned the original implementation of HTML! Marc

                        Day 1: Spider Database Navigator Unit Testing Succinctly

                        R K 2 Replies Last reply
                        0
                        • L Lost User

                          It would be better to say that JavaScript is the new C64 BASIC. It's just as fast, efficient and fun to debug as any old interpreter and allows any {place insulting word of choice here] who was too dumb to understand object orientation or get used to data types to freely create programing horrors. (*) Cool-Aid of the day. Have a big cup. :)

                          Sent from my BatComputer via HAL 9000 and M5

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

                          Okay, BASIC I'll go for, but don't impugn Assembly. It takes far more knowledge of hardware, and programming skill, to build a useful program using Assembly than any of the modern languages. And yes, sometimes it has to be done...

                          Will Rogers never met me.

                          L 1 Reply Last reply
                          0
                          • R Roger Wright

                            Okay, BASIC I'll go for, but don't impugn Assembly. It takes far more knowledge of hardware, and programming skill, to build a useful program using Assembly than any of the modern languages. And yes, sometimes it has to be done...

                            Will Rogers never met me.

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

                            Does this assembly stuff look like this? :)

                            ; =========================================================================================
                            ; Parameters:
                            ; RE.0 X coordinate of the sprite
                            ; RE.1 Y coordinate of the sprite
                            ; RF Pointer to sprite
                            ; RD Size of the sprite in bytes
                            ;
                            ; Internal:
                            ; RC Pointer to video memory
                            ; =========================================================================================

                            DrawSprite: DEC R2
                            LDI hi(DisplayBuffer) ; calculate the offset in the video buffer
                            PHI RC ; DisplayBuffer + Y * 8 + X / 8
                            GHI RE ; result goes to RC

                            		IF Resolution == 20H
                            		ANI  1FH			; between 0 - 31
                            		ENDIF
                            			
                            		IF Resolution == 40H
                            		ANI  3FH			; or 0 - 63
                            		ENDIF
                            
                            		IF Resolution == 80H
                            		ANI  7FH			; or 0 - 127
                            		ENDIF
                            
                            		SHL
                            		SHL
                            		SHL
                            		PLO  RC
                            		BNF  DSP\_SkipIncrement
                            		GHI  RC
                            		ADI  01H
                            		PHI  RC
                            

                            DSP_SkipIncrement: GLO RC
                            STR R2
                            GLO RE
                            ANI 3FH
                            SHR
                            SHR
                            SHR
                            ADD
                            PLO RC
                            GLO RE ; calculate the number of required shifts
                            ANI 07H ; result to RE.1, replacing the Y coordinate
                            PHI RE ; RE.0 will be used later to count the shifts

                            DSP_ByteLoop: GLO RD ; exit if all bytes of the sprite have been drawn
                            BZ DSP_Exit

                            		IF Resolution == 20H		; or if we are about to draw outside the video buffer
                            		LDI  hi(DisplayBuffer)		; only one page at 64 x 32
                            		ENDIF
                            
                            		IF Resolution == 40H
                            		LDI   hi(DisplayBuffer) + 1	; two pages at 64 x 64
                            		ENDIF
                            
                            		IF Resolution == 80H
                            		LDI   hi(DisplayBuffer) + 3	; four pages at 64 x 128
                            		ENDIF
                            
                            		STR  R2
                            		GHI  RC
                            		SD
                            		BNF  DSP\_Exit
                            		LDN	 RF			; load the next byte of the sprite into RB.0
                            		PLO  RB
                            		LDI  00H		; set RB.1 to OOH
                            		PHI  RB
                            		DEC  RD				; decrement the sprite's byte counter
                            		INC  RF				; increment the pointer to the sprite's bytes
                            		GHI  RE				; prepare the shift counter
                            		PLO  RE
                            

                            DSP_ShiftLoop: GLO RE ; exit the loop if all shifts have been performed
                            BZ DSP_ShiftExit
                            DEC RE ; decrement the shift counter
                            GLO RB ; shift the values in RB
                            SHR
                            PLO RB
                            GHI RB
                            RSHR
                            PHI RB
                            BR DSP_ShiftLoop
                            DSP_ShiftExit: SEX RC ; store the shifted bytes in the video buffer
                            GLO RB
                            XOR
                            STR RC
                            INC RC
                            GHI RB
                            XOR
                            STR RC
                            SEX R2
                            GLO RC ; advance the video buffer pointer to the next line
                            ADI 07H
                            PLO RC
                            GHI RC
                            ADCI 00H
                            PHI RC
                            BR DSP_ByteLoop
                            DSP_Ex

                            R 1 Reply Last reply
                            0
                            • L Lost User

                              Does this assembly stuff look like this? :)

                              ; =========================================================================================
                              ; Parameters:
                              ; RE.0 X coordinate of the sprite
                              ; RE.1 Y coordinate of the sprite
                              ; RF Pointer to sprite
                              ; RD Size of the sprite in bytes
                              ;
                              ; Internal:
                              ; RC Pointer to video memory
                              ; =========================================================================================

                              DrawSprite: DEC R2
                              LDI hi(DisplayBuffer) ; calculate the offset in the video buffer
                              PHI RC ; DisplayBuffer + Y * 8 + X / 8
                              GHI RE ; result goes to RC

                              		IF Resolution == 20H
                              		ANI  1FH			; between 0 - 31
                              		ENDIF
                              			
                              		IF Resolution == 40H
                              		ANI  3FH			; or 0 - 63
                              		ENDIF
                              
                              		IF Resolution == 80H
                              		ANI  7FH			; or 0 - 127
                              		ENDIF
                              
                              		SHL
                              		SHL
                              		SHL
                              		PLO  RC
                              		BNF  DSP\_SkipIncrement
                              		GHI  RC
                              		ADI  01H
                              		PHI  RC
                              

                              DSP_SkipIncrement: GLO RC
                              STR R2
                              GLO RE
                              ANI 3FH
                              SHR
                              SHR
                              SHR
                              ADD
                              PLO RC
                              GLO RE ; calculate the number of required shifts
                              ANI 07H ; result to RE.1, replacing the Y coordinate
                              PHI RE ; RE.0 will be used later to count the shifts

                              DSP_ByteLoop: GLO RD ; exit if all bytes of the sprite have been drawn
                              BZ DSP_Exit

                              		IF Resolution == 20H		; or if we are about to draw outside the video buffer
                              		LDI  hi(DisplayBuffer)		; only one page at 64 x 32
                              		ENDIF
                              
                              		IF Resolution == 40H
                              		LDI   hi(DisplayBuffer) + 1	; two pages at 64 x 64
                              		ENDIF
                              
                              		IF Resolution == 80H
                              		LDI   hi(DisplayBuffer) + 3	; four pages at 64 x 128
                              		ENDIF
                              
                              		STR  R2
                              		GHI  RC
                              		SD
                              		BNF  DSP\_Exit
                              		LDN	 RF			; load the next byte of the sprite into RB.0
                              		PLO  RB
                              		LDI  00H		; set RB.1 to OOH
                              		PHI  RB
                              		DEC  RD				; decrement the sprite's byte counter
                              		INC  RF				; increment the pointer to the sprite's bytes
                              		GHI  RE				; prepare the shift counter
                              		PLO  RE
                              

                              DSP_ShiftLoop: GLO RE ; exit the loop if all shifts have been performed
                              BZ DSP_ShiftExit
                              DEC RE ; decrement the shift counter
                              GLO RB ; shift the values in RB
                              SHR
                              PLO RB
                              GHI RB
                              RSHR
                              PHI RB
                              BR DSP_ShiftLoop
                              DSP_ShiftExit: SEX RC ; store the shifted bytes in the video buffer
                              GLO RB
                              XOR
                              STR RC
                              INC RC
                              GHI RB
                              XOR
                              STR RC
                              SEX R2
                              GLO RC ; advance the video buffer pointer to the next line
                              ADI 07H
                              PLO RC
                              GHI RC
                              ADCI 00H
                              PHI RC
                              BR DSP_ByteLoop
                              DSP_Ex

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

                              Yup.. That's the stuff. :-D

                              Will Rogers never met me.

                              L 1 Reply Last reply
                              0
                              • R Roger Wright

                                Yup.. That's the stuff. :-D

                                Will Rogers never met me.

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

                                Ahh, good morning (at leat it is early morning here). I got this drivel from here[^]. While I don't enjoy JavaScript very much, I still have some assembly which I occasionally work on. The code I have posted is used to draw a bitmap patten at any screen coordinates. I use it for text output, but also can be used to draw sprites in a game. That's why ther also collison detection. :)

                                Sent from my BatComputer via HAL 9000 and M5

                                1 Reply Last reply
                                0
                                • CPalliniC CPallini

                                  Amitosh S.M. wrote:

                                  blueprints

                                  Blueprints? :-)

                                  Veni, vidi, vici.

                                  R Offline
                                  R Offline
                                  Rob Grainger
                                  wrote on last edited by
                                  #16

                                  In the UK they are planning plain packaging on cigarette packets - just think of all the extra space for sketching designs such as these.

                                  "If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.

                                  CPalliniC 1 Reply Last reply
                                  0
                                  • M Marc Clifton

                                    Amitosh S.M. wrote:

                                    If I had a time machine, I would have gone to past and burnt the blueprints!!!

                                    I would go back even further and burned the original implementation of HTML! Marc

                                    Day 1: Spider Database Navigator Unit Testing Succinctly

                                    R Offline
                                    R Offline
                                    Rob Grainger
                                    wrote on last edited by
                                    #17

                                    Hear hear! (I could go into a similar rant about failing to learn from existing technologies to my SQL one they other day. In this case forerunners such as Doug Englebart (The Mother of all Demos), Ted Nelson (who coined the phrase Hypertext) and Apple's HyperCard. They really should stop these scientists hacking.

                                    "If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.

                                    M 1 Reply Last reply
                                    0
                                    • R Rob Grainger

                                      In the UK they are planning plain packaging on cigarette packets - just think of all the extra space for sketching designs such as these.

                                      "If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.

                                      CPalliniC Offline
                                      CPalliniC Offline
                                      CPallini
                                      wrote on last edited by
                                      #18

                                      E. Majorana would have been happy.

                                      Veni, vidi, vici.

                                      In testa che avete, signor di Ceprano?

                                      1 Reply Last reply
                                      0
                                      • L Lost User

                                        It would be better to say that JavaScript is the new C64 BASIC. It's just as fast, efficient and fun to debug as any old interpreter and allows any {place insulting word of choice here] who was too dumb to understand object orientation or get used to data types to freely create programing horrors. (*) Cool-Aid of the day. Have a big cup. :)

                                        Sent from my BatComputer via HAL 9000 and M5

                                        A Offline
                                        A Offline
                                        Andrei Straut
                                        wrote on last edited by
                                        #19

                                        CDP1802 wrote:

                                        allows any {place insulting word of choice here]

                                        I believe that code block is not properly closed. I don't think you would want to debug that kind of error in a Javascript file...

                                        This isn't a signature

                                        K 1 Reply Last reply
                                        0
                                        • R Rob Grainger

                                          Hear hear! (I could go into a similar rant about failing to learn from existing technologies to my SQL one they other day. In this case forerunners such as Doug Englebart (The Mother of all Demos), Ted Nelson (who coined the phrase Hypertext) and Apple's HyperCard. They really should stop these scientists hacking.

                                          "If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.

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

                                          Rob Grainger wrote:

                                          and Apple's HyperCard.

                                          I actually wish HyperCard was still around - I guess we have PowerPoint nowadays, but it's really not the same thing. One day I'll get back to working on http://app.intertexti.com/[^], my resurrection attempt (sort of.) ;) Marc

                                          Day 1: Spider Database Navigator Unit Testing Succinctly

                                          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