Programming Section
Welcome to the programming section of my page.
I started working with computers when I was 8, or maybe 9. At that time, the computer we worked with was the advanced Atari800 XL/XE. That computer was more advanced then commodore, and apple at that time (Or I thought it was). I learned basic, and started programming with that language, until we moved, and lost most of the magazines for it. We still had a whole bunch of Atari software, and books. I worked with that until 1993-1994, when I was introduced to the IBM. I refused to program until I read how to make programs in Qbasic. Very similar to Atari. Later, we gave the Atari away. But, I have a few good utilities in Qbasic that I use very often.
Soon, my father said I had to start working with Windows, so got me a Windows version of Qbasic, Visual Basic 4.0 Enterprise addition. After I got adjusted, I made more programs for Windows, which I’ll probably update soon. I've even made a compression program, originally for Windows'95, now also for Qbasic.
At the moment, I’m not learning Masn, I’ve decided to stick with Visual Basic. It is easier anyway. For anyone who cares, I will take requests, but making programs cam be slow.. Oh well.
Well well.. here i am again.. I am now LEARNING C!! and C++.. with this power i can do a lot more with more abilities.. i am moving to Linux.. that is, when i finnish reading these three killer books.. oh well.. things will tell as they come.. My first project.. Make a QBASIC program so it translates the Qbasic programs to C.. in Qbasic.. i have heard there are a few already out.. bu i feel like making my own version.. C and LINUX here i come!!! :)
I am making a Qbasic operating system.. see details at the bottom of the page :)
(am i conterdicting myself or what? :) )
1/30/00
Any Questions? Email me
Links: This has helped me a lot!
Assembly 86X Resources
Programmer's Heaven What can i say? Well..it's good resource, free.. and you would be supprised what you can find there :P
Linux Links This is a nice place to start.. three months ago i didn't even know it exsisted..
perhaps i should take one of the online manuals and put it here so you can download it in a single zip...
Kaswoj Software To a real good QBASIC place.. with a part of my project for the qbasic operating system..
Atari 800 Emulator.. For any one who wants to use this old thing. :)
Qbasic Comics This is some comics i found, kinda also helped me with my comics :)
Little programming tid-bits: Qbasic Programming
----These are only Examples, with these tools making programs should now be easier----
BIT:This file takes a byte apart.
BYTE:This puts a bit back into a byte.
FILE:This opens a file, and opens 1K into a$, while keeping track of what has already gone by.
(should i get this operating system, i will take the need for the bit and byte algorythom out of use, with a command i made.. you can use either of these for functions with a little change, but why not use a built in instruction that's faster and more effecint?)
(I don't use PGP anymore.. i use Semeir_Corraf_Armaheen.. my own encryption format.. see if you can break it :) ) (A note, this is an older version. I have a much better version, but no one has commented on it yet :P )
Hello, Here's something
DIABLO 2
BRAIN DEAD:
Well, i made a Character for all of you to see, I am able to make VERY Strong characters, hey, i made one. Anyway, here's one for you all to download. He's a 99, and.. he's nice, but he has a FEW little flaws.. the moment you see them, you will see what i mean :) (Oh sure, you have a 99, and a few spells, you will see why you don't want to run him)
Useful Information
Pornography Bypass & System Speedups (IE ONLY) VIEW
Programs Already Made
Gframe - This program is for the Gargoyles site Gargoyles-fans.org/.. I made it so with the new version of the archive it would save the new files, and keep the information on the files. (Also rating(G, PG, PG13, R, NC17, X), and how people rated it. (of 1 to 5))
Clip - This is a companion to Gframe. It gives the author information up, and puts it together so it's compatible with Gframe, and faster to download and sort. (Puts the information in the 'copy' so you just have to paste.. much faster then typing everything in) (Is already outdated)
X-Utils - This program is some utils that I forgot in Gframe. They are not necessary, but are useful. I especially like the 'New files' and keeping everything in line. But it IS my program. :)
Stories Tracker This program is another addon for Gframe. But this is to access the stories easier, and keeps track of which authors you have already read. And updates according to it's code.
DT - Little program I made for a friend. But I will probably re-write it, as when I wrote it, I was thinking on a different algorithm then I am now for compression. (Takes 16 million colors, and compresses it using a 256 color algorithm. if it has more then 256 colors, it aborts)
Programs i made, but i am not submitting to the public
Textures - This is the secret program that gives my pictures the look. (In the pictures section)
Morphing - This is the secret program that allows me to morph my own pictures and sounds.
ErA sCARecROw'S CrAZy PROGram - tHis IS thE pROgrAM That can aLlow mE TO HAVE specIaL Word effEcTs.. and IS GooD AT maKIng SEriaL nUMBeRS TOO.. ComMonLy Seen oN Some wArE sItes And otherS.. if yOU hAVE ANY quEsTIonS aBOut dOIng somE TEXTS wiTh THIs, ContAct me.
Semeir_Cooraf_Armaheen This is one i don't plan on putting in public for some time.. It is an encryption program, and it is fast, and simple.. The best 8-bit encryption i have ever made or used. Here is a sample of the encryption it does. Just so you know, it isn't anything on my site, but something on another site that i won't say where.. BUT!!.. It is a text file, and if you can break it write me.. Here is the ENCRYPTED text... This is only a part of it, to save time.. in fact, this paticular encryption key is only 7 bits... immagine 8 :).. And as a note, this only took 15 seconds to encrypt.. (or close enough) And you may save it, and look at it in notebook.. (OR click on 'View Source')
Thinner Hey, see a ton of links, and you have to click them all.. but don't want to? This is an easy, fast, engine.. V1.2, not availiable to the public yet, but this will save you TONS of time.. suggested by a friend i made it in an hour..
COLOR TEXT: This is an example of the text this program is capable of doing.. it can do as much as you want, but careful.. colorful text does have the price of the size it takes for each individual letter.
QBASIC OPERATING SYSTEM WORKS...
Credit: This program, with it's power, Will calculate the Credit values, Used for credit cards, and other debts. But can be used for many things.
Current Version: V 0.11
Preview. View the SnapShot
Last Updated 10/03/00
ASSEMBLER: So far i am making a true assembler.. based on Debug (Which i have most of it so far) And i am going to use a few other resources to learn what else i can.. i already have a working model of a program.. Care to see it? :) (Not emulated, the real instruction set) So far, it has most of the codes.. and some of the 32-bit Register controls.. but is mainly 16-bit right now.. oh, and i have customized some commands so it can handle more complex codes... (@, $, ` + '..) It's down a few more Spaces, Called INTEL ASSEMBLER.. it's ready, and has a sample code for you to work with :)
Current Version: V 1.48
Download my current Version. (Incomplete, but i am starting over..)
Assembler HISTORY: Last Updated 4/02/00
Intel Assembler: This is the NEW assembler.. I used it working on books from intel, and it's instructions.. nice book too :) But not everything is perfect.. so i won't put it up yet.. New features? well.. you can set up for different size types, you can do "db "something", and something here, and on and on" and then you can do much more.. like 32 bit addressing, and flag control, and soon MMX will be put in.. This is so cool :) It also has all the old good features.. All the CPX utils are in there, but be warned, they are a little different, but same principle.. best part? It's free :) (AND i made a manual for it :) )
Current Version: V 0.27
Download the current version of my NEW assembler!! (check it out :) )
Intel Assembler HISTORY: Last Updated 12/31/01 (V.27)
Intel Assembler (Assembly): Once again, i started over. But this time, it's for much better. Pretty soon, all these petty versions will be obsolete. (they already are :P ) But. I must say, this is quite the approach. I mean, who in their right minds can build 3 assemblers, all trying to do the same thing, and slowly getting better? Not many.. But, this one's in assembly, not only will it be faster, but much stronger. When completed, it will hold as many codes as i can put in. And that's quite a few, it will try to include MMX, FPU (floating point), 32bit registers, control registers, debugging registers. Label support, including, special features to do all this, and a ton of other things. I have most of it done already, here's this history file. The source is now included, with a manual as well.
Current Version: V 0.52
Download the current version (Assembly version SO FAST :) )
Intel Assembler (Assembly Version)HISTORY: Last Updated 05/08/02
SnapshotIt works, that's about all that can be said for now. I've added features that are for the advanced programmer, but you can learn those on your own.
BASE:The Test program to my assembler. (can be found in my Intel Assembler..) if you want to see this nice program, download it here. Has every requirement MSDOS needs, and is only 2K big. Is fast.. and.. weak.. :P But still, i worked hard on this, and i loved getting it done. Enjoy.. Tell me what you think.
Current Version: V 2.3 (based off the Basic version)
Download
BASIC-2-ASM: This one has a ways to go.. there will be quite a few files.. you say which processor you are using, and it will use precompiled code for that processor, you can choose from the two within it.. the small and fast code (For bugless programs) or the slower, larger forms (Easier to debug) but in the end.. they both result in the same code, or results..
BASIC-2-C: I started on this when i was working with linux a little more.. it is incomplete, but i will retake it soon.. (For linux users, or C users)
ASM-2-BASIC/C: This code i won't start yet.. not until we are ready, or prepaired.. it will take a LOT of work..
Test programs for my assembler (Original)
3 Text Lines This is the first of my tests, this is a complete program, but a little different then most used assembly.. Take care..
16 Million Cycles Test A little looping program to test how long 16 million cycles takes with registers.. takes longer when working with ram..
Crypt Program I made this to send secret messages to a friend.. i can write a simple message in it, and then write a second secret one.. even in a text editor, you can't see the second message.. Can you? :)
Loop 10 Something i did for someone, they wanted to loop and print their name 10 times.. to protect the person, i put in my name :) enjoy.
A Jump Test This is obvious... It's a jump test, testing to see how the labels work.. should work fine.. how many jumps were there? 9? :)
CPUID This is an instruction set, presented quite resently.. i put this in, run it.. you will get either a little fancy text, or 'notsupported'.. see if you can tell what type of proccessor you have.. run it on different computers too :)
The .COM's I just updated this file, it has all the old files, and all the new files too. I redid all the algorythms a little, some are a touch bigger, some are smaller.. But they are simpler to read, and for the new assembler (good examples, why not keep them :) ) So, enjoy. you will notice a few differences (new readme)
I also wrote a doubler program. Care to see the result? It starts at 1, and doubles it, saves it, doubles, saves, and over and over. This goes from 2 to 512 bits. (the maximum value you can hold in that many bits, starting at 1) Here's the text. (can't do this with any of the regular registers. :) i can easily take it to over 100,000, but the file of the number would be so big. the point would have been lost :)
Well, i have found the full length of the number. It's about 159,000 digits long (who's going to name all the comma's?) Anyway. If any of you are curious, i can find out any number from 1 bit to 600,000 bits (i think) if i need to, i can always go higher. But, what are you doing to use this number for?
The UPDATED letter here's the previous letter
UPDATE TO PREVIOUS LETTER:
After making my assemblers, and my information that i am gathering form books, i have new views, new ways of seeing things. And in this way, i have a better idea of how to build the operating system. Although far from complete, this is a good start...
I have taken up Assembly, and Qbasic is still in the forefront. But as i can see, this would be built out of assembly, and when ready, we would finish making the compilers. This also is for translations, between languages. C and C++ Have a head start.
As i now see it, to build this operating system, the "Kernal" Is preset definitions of many things. Rules, follow ups, information on how file systems are set up.. Ect Ect.. This would probably be loaded up in an odd fassion..
BootStrap:
When ready, the bootstrap is loaded, which will load the basics required. After that, it switches to Protected mode. And loads the last of the kernal. This kernal, would reside in 1 MB section. Of all the libraries, in assembly, even the largest libraries are small when compiled. (i did a little check. I had some Major math emulation i had made, and compiled the whole thing. It took up about 3K, and this was for about 20 Functions..)
So i am sure the 640K is more then enough for standard libraries. Any libraries not used often or special, translation.. Whatever, can be added on. Inturrupts i am sure would still be used. But this all depends on how things turn out.
The Kernal would be loaded in the 640K, and this would include video and graphics functions, math emulation (if needed), Sound control, Drive controlling and capacity.. Compression, Decompression (a few different types, depends)
Now there is a second kernal.. Within the first MEG is the ROMS and the functions. These can be accessed by ALL programs. Then comes the second kernal, the actual opperating system. This allows for loading the different items required. But most of the functions are part of the 640K that was previously loaded. You can arrange these, and compile the new kernal to do this. (saves time from the batch file)
Now the defining of the INT's (32-255) there must be some standard use on these. I suggest the last 32 or so (223-255) are saved for IRQ's (yes, i do foresee the use of irq's higher then 15, but if this doesn't turn out, we can always change a little in the code)
These standards would be rather simple. All inturrupts (at start) would point to one location, and return AX as 0. this says no function there, or this function isn't installed. (this can be protocals, drive formats, cd rom information, graphics, special functions..)
If it is installed, it returns a NON zero number. this is either 1 (is here and working) or a higher number, telling the return information.
(for simplicity, and for those programmers who are used to using AH and AL for functions, this will be continued to use. AX=0000 is a request number. Just asking if the function is there. Anything higher, is a function request (a real function other then the check))
Program headers? I am not sure. Depends on what we want done. With the headers, the kernal (shell) can load the program, and give it special properties, set up memory segments of certain sizes, and other things. If not, this would load the whole code as one section, and a few requests at the beginning would seperate it in protected mode for use. (most likely a header will be made for this)
IF we were to do headers, ALL programs would require them. This takes away the MZ (jump near) to the next segment location. I would say, 256 - 512 bytes for the header. The first byte says whether the header is used, or how much of it.
Also, in MS-DOS, the PSP is built at the beginning of the program. (first 256 bytes) apart from the header. this says the programs, locations, sizes.. as well as fixed locations to store your handles for devices. if applicable, it may go to that as well..
Drives,
this goes for drives. AS long as they are set up right, i am sure they would work. (Duh) but.. it's the file system i am worried about.. Since there are so many out, we have to build the functions to use them (part of the 640K) so..
as i see it, we would assign a ID for each format type. as well as a way to auto detect it perhaps? I am not sure, i will have to look into this more..
this also goes for RAM drives.. Ram drives, are faster, and good for temporary storage. They can have an ID as well. we just need to decide as we go along. Mainly this is the operating system's view, so it may put an id for each peice as it comes along, and use those values as LONG as the computer is on.. next boot up it may assign different numbers. But we may manually assign numbers.
Printers, Scanners, drivers blah blah,
Yes, these i am sure we will use. these drivers would also be put in the 640K, but nothing big. Remember, that's the location of the main information. (drivers and such)
These as part of the kernal, probably would be loaded any time, if programmed right, just added in in any time. just a slight change in code and save it.
What i think might be a good idea.. is this..
for the new PCI plug and play, is they have a second rom chip, which holds the assembly codes for how to use the card to it's full power. this way you don't NEED anything but the hardware. And with a request, it would be downloaded, and could then be programmed with this information. (if this actually happens, i don't know)
That's all for now, i may update this later
Era
Back
This page hosted by
Get your own Free Home Page