The Unofficial Access Virus & Virus TI Forum - since 2002

The Unofficial Access Virus & Virus TI Forum - since 2002 (http://www.infekted.org/virus/forum.php)
-   General discussion about Access Virus (http://www.infekted.org/virus/forumdisplay.php?f=105)
-   -   What code do thy use to make the Virus? (http://www.infekted.org/virus/showthread.php?t=25248)

hatembr 18.03.2005 02:11 PM

they do use Assembly language, that is what one of the access employees told me on their live chat section. He wasn't very sure though, he hesitated between C and Assembly and then said it was Assembly.


Quote:

Originally Posted by DIGITAL SCREAMS
OK lets say Access use assembler......i find it really interesting to know 'how' they create a distinct sonic character just using code.

Any ideas? This is all pure maths right? Does the sound character come from imperfections in the code?


as software programmer, i can easily imagine it :)
since everything is binary, there cannot be random imperfections (actually the concept of "radnom" doesn't really exists in computers) so imperfections themselves are implemented into algorithms, then coded.


look what assembly (ASM as commonly called) looks like:

Code:

.model small
.stack
.data
message  db "Hello world, I'm learning Assembly !!!", "$"

.code

main  proc
  mov  ax,seg message
  mov  ds,ax

  mov  ah,09
  lea  dx,message
  int  21h

  mov  ax,4c00h
  int  21h
main  endp
end main



Imagine millions of lines of that!!

This may help some of us understand why sometimes there are bugs and why we should let Access take their time for every new release ;)

hatembr 18.03.2005 02:16 PM

.... and yes, Digital Sound Processing is 100000% maths and accoustics.
So tomer, you weren't far :)

->the first step is analyzing sound characteristics
-> create a conceptual model
-> write the algorithm
-> code it (ASM, C or whatever...)
-> burn to EPROM ;)

DIGITAL SCREAMS 18.03.2005 02:36 PM

Thx Hatembr....

So do they litrally use millions of lines of code? If so.....then surely they cant program all that.....they must have other software/tools to write it once the basic is down? Plz excuse my naivety.....but im beginning to find this an interesting topic. Some peopel build kit cars.....one day I'd like to try my hand at building a softsynth.

Where can I go to learn about using computer language to make synths? Are there any courses on the topic?

DS

hatembr 18.03.2005 02:49 PM

millions? well may be a bit exessive, look, to display a simple asterisk character on the screen using ASM you will need this code:

Code:

;ASM example
 .model small
 .stack
 .code
 mov ah,2h  ;moves the value 2h to register ah
 mov dl,2ah ;moves de value 2ah to register dl
    ;(Its the asterisk value in ASCII format)
 int 21h    ;21h interruption
 mov ah,4ch ;4ch function, goes to operating system
 int 21h    ;21h interruption
 end        ;finishes the program code

so imagine all the maths functions, conditions, cycles.................
i guess there is easily hundreds of thousands lines of code in our synths.

Of course, a good programmer never rewirtes his code, he has generic libraries (modules) he can customize and reuse (reusability is a very important concept in programing) .

Now if you want to know how to program your own synth, the first thing you will need to know is Digital Sound Processing which is quite hard (i tried to learn it but i quit! too much electronics in there).

Then you will have to write an algorithm => the different scenarii of your "program", and then code it.

If you tell me what u know in computers and programming, i can help u start, as there are tons of free tutorials on the net.

wildbill 19.03.2005 01:50 AM

hey hatembr: total ignorance here, but i've always wondered like in your example, what determines that those code lines are referring to an asterik, and not say, a middle c on a keyboard or something?

also, i thought assembly language was just raw 0's and one's. what you're describing looks to be at least one level higher than that.

i guess my question would be, if 00011100011110000 means something - how is it determined what it means.

and with only one's and zero's to work with, how can a number refer to a sound, a picture, or anything else for that matter?

like i said - total ignorance. :oops:



digital screams - a lot of the softsynths at KVR are made with a program called synth-edit, it's not supposed to be real efficient, but you could google it up to give it a try.

EnjoyRC 19.03.2005 03:34 AM

Binary 1's and 0's are how the data is stored. Assembly language is the actual instruction set of manipulating memory and executing commands.

jasedee 19.03.2005 06:15 AM

Im studying this stuff at University......Learning to create simple DSP (For FX etc..) and am having to get my head around Binary, hexidecimal, learning that all mathematics in binary are performed by addition (what a headfuck!)

And then there's the electronics side of things......jeez!

hatembr 19.03.2005 08:53 AM

Quote:

Originally Posted by wildbill
hey hatembr: total ignorance here, but i've always wondered like in your example, what determines that those code lines are referring to an asterik, and not say, a middle c on a keyboard or something?

it is this line of code:
Code:

mov dl,2ah ;moves de value 2ah to register dl
    ;(Its the asterisk value in ASCII format)

the value 2AH (hexa) placed in the DL register of the CPU refers to the ASCII value of the character "asterisk", what follows that line will tell the CPU what to do with it (not obvious i know).

Quote:

also, i thought assembly language was just raw 0's and one's. what you're describing looks to be at least one level higher than that.

i guess my question would be, if 00011100011110000 means something - how is it determined what it means.
Now as far as 0s and 1s go, the ASM language IS the lowest level in programming languages, what you see there is just a symbolic representation of it, to make it accessible to humans, otherwise it would be impossible to write not even a single line of code.

So, behind the "mov" instruction, there is a binary value, behind the "DL" register name, there is also a binary value , and so on.
After you finish your "symbolic" coding, you move to the "compilation" phase where your ASM compiler will translate those text-characters (we understand) to their real binary values so that the CPU can understand them.

ASM reflects what really happens when you execute anything on your computer, that is what the CPU really does, it moves a value into one register, another value into another register, calls an interruption and so on.

;)


Quote:

and with only one's and zero's to work with, how can a number refer to a sound, a picture, or anything else for that matter?
sounds, pictures, videos, text, windows all that doesn't really exist at a low-level speaking. They are all sequences of instructions the CPU executes, to reflect a virtual image on your screen.
As far as sounds go, after a long analyzing phase (the hardest work), they can be translated into instructions the CPU in the virus executes and sends to the appropriate part of the machine to make it audibale.
But at the beginning, it is just a set of instructions.

Timo 19.03.2005 10:49 AM

Bear in mind that computers/DSP nowadays are extremely fast in executing literally billions of lines of codes in mere seconds.

In the old days (the furthest I can look back is the 80's, being just 25 yrs old) it took hours to load relatively simple applications. Lol, the Commodore 64 sometimes took 30-40mins to load up a basic 8-bit game.

The SID chip, though, wow..... :) Still loved, 20 years on.

Juho L 19.03.2005 11:38 AM

Quote:

Originally Posted by hatembr
->the first step is analyzing sound characteristics
-> create a conceptual model
-> write the algorithm
-> code it (ASM, C or whatever...)
-> burn to EPROM ;)

...and this way we get a EPROM full of ASCII characters. Yay! As someone pointed out, the code is just a pseudo language that coding would be easier for humans. To make computer to execute the program, the code has to be translated (compiling, building, linking...) to create a binary code.


All times are GMT. The time now is 01:52 AM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2002-2022, Infekted.org