CAOTD (*): JavaScript is the new Assembly
-
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
-
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
-
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.
-
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
-
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
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
-
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
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.
-
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.
-
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.
-
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
-
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
-
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
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
-
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
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.
-
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.
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 RCIF 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 shiftsDSP_ByteLoop: GLO RD ; exit if all bytes of the sprite have been drawn
BZ DSP_ExitIF 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 -
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 RCIF 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 shiftsDSP_ByteLoop: GLO RD ; exit if all bytes of the sprite have been drawn
BZ DSP_ExitIF 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_ExYup.. That's the stuff. :-D
Will Rogers never met me.
-
Yup.. That's the stuff. :-D
Will Rogers never met me.
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
-
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.
-
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
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.
-
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.
-
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
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
-
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.
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