Dirk Wolfgang Glomp
Members-
Content Count
23 -
Joined
-
Last visited
About Dirk Wolfgang Glomp
-
Rank
Newbie [Level 1]
- Birthday 10/12/1960
Contact Methods
-
Website URL
http://
Profile Information
-
Gender
Male
-
Location
Germany; 22111 Hamburg Horn; Vierbergen 10 b
-
Interests
Assembler Programming for DOS
-
The text after a semicolon is a comment only for us and will be ignored from the assembler. This is a command line parameter of the 16 bit link.exe from masm 5.1. (We can remove all parameter.) 16 bit linker: Microsoft ® Segmented Executable Linker Version 5.60.339 Dec 5 1994 http://forums.xisto.com/no_longer_exists/ I think this fit the start address of the data segment on an boundary of 4 byte instead of only 2 byte for a data ailgment with an 32 bit access reading and writing within the data segment. From my homepage: Mode info: http://forums.xisto.com/no_longer_exists/ (2576 bytes) Demo: http://forums.xisto.com/no_longer_exists/ (12739 bytes) Dirk
-
I prefer first person shooter. Dirk
-
Because i want a strong card for gaming and additional a card for to programm own applications which use the VBE3-Bios in 1920x1200x32 (the native widescreen resolution of my 28" LCD) i bought a Colorfull GTX 295. Dirk
-
I think this is a problem from the manufacturer of those cards and not a problem of the GPU.Daily i use a Geforce 4 TI4200(AGPx4 64MB) from MSI since many years without any problems, but my brothers Geforce 4 TI4200(AGPx8 128) from Asus died years ago. Dirk
-
I like to help. There are some more integer math instructions. Increment: inc ax Decrement: dec ax Addition with carry (carry flag): mov ax, 8001hmov bx, 8000hadd ax, bxadc dx, 1 Substaction with borrow (carry flag): mov ax, 8000hmov bx, 8001hmov dx, 5sub ax, bxsbb dx, 1 Shift (bitwise) right (equivalent to an unsigned division by 2): mov ax, 4; AX in bits = 00000100shr ax, 1; AX in bits = 00000010 = 2 Shr inserts a zero bit in the highest position(msb) and shifted out a bit on the lowest position(lsb). (No flags are involved) Shift (bitwise) left (equivalent to an unsigned multiplication by 2): mov ax, 4; AX in bits = 00000100shl ax, 1; AX in bits = 00001000 = 8 Shl inserts a zero bit in the lowest position(lsb) and shifted out a bit on the highest position(msb). (No flags are involved) Load effective adress (only) for addition: lea bx, [bx+4]; instead of "add bx, 4"The primary purpose of the "lea" instruction is for to calculate the effective offset-address of a memory location, but we can use it also for an addition (possible with up to three operands). Lea is one of the fastest instructions, so it will be alienated and used as a replacement for increment, addition, decrement, subtraction and for multiplication (with a scale factor of 2, 4 or 8 in combination with a 32Bit register). (No flags are involved) Dirk
-
Starting Programming Where to begin?
Dirk Wolfgang Glomp replied to MOOSE1405241519's topic in Programming
Sorry, i don´t know wich image exactly do you mean. Wich one is from pipux.net?a) http://oldcomputers.net/pics/ti-994a.jpg http://cbmmuseum.kuto.de/images/home_c64_1.jpg c) http://forums.xisto.com/no_longer_exists/404.png But this is a dirty lie, because they want that people watch their image and therefore it is reachable on their webpage and the image is not removed til this moment, so it can´t be stolen.Additional no illegal copy of that image exist here on this page. This page have only a link to the image and the link itself is used for that what links are regular made for. Ok i try to test it, if i know which image is exacly from pipux.net. I understand what they want and i understand the problem for the forum to become a cease-and-desist order from a counsellor, but i don´t believe that they have the right to dictate how we watch their image.Maybe the next owners of images want that we stay only on one leg and singing didilidum to watch their images. Who knows does it go. We have always the right to filter any content of any webpage that we want to filter and if we want that only one image from a webpage appear for watching, then nobody have the legitimation to prevent us from watching only that image, if the image is reachable from the owners webpage and we only redirect the watcher to a part of their webpage. Comperatively if we stay together on the street in front of a shop with a lot of advertising inside of the shop window and i give you an eyeglass with red glasses and advise you to look into my little mirror in my hand to have a look only into a part of that shop window. If there is anybody that shout: "Hey policeman they have stolen our puppets only by watching it with a mirror, please stop that thieves."? Or is there a magican that elfstruck all mirrors so that they all are dangerous now, so we have to prevent the world from looking into mirrors? Yes, it is only a kind of dirty jokes, also with that owners of any content if they want something with no rights to dictate how we watch their contents. In my opinion break this dictate the human rights, so we can say this is a criminal doing by that counsellors/justice who press us to desist orders, if they want that we remove a link from our webpage and to dictate us how we are watching images. I don´t want that this forum becomes any problem with that and i realy want to care the rules here. So in the next time i don´t post any adress for to link an image, if it is not clear that the owner of that image give a positive statemant for to use it for free. Dirk -
Starting Programming Where to begin?
Dirk Wolfgang Glomp replied to MOOSE1405241519's topic in Programming
Ups, first i have to say i don´t want to break the rules here. But i have not realy post the image, only the adress of the image. And i see a litle different between to download/upload an image and only to link an image on an other webpage. I still believe to link a webpage(or a part of it) with a page that we have made let us not to be the owner of the content of the other webpage. And we are also using their images if we have a directly look to their page and i am not sure about it, if we realy need any special rights for to link a content from other pages. In my opinion have nobody the rights to dictate how i have to look some pages on the web. Not the right to dictate which eyeglasses or which brownser i use and whether i use black papers to hide some pieces of the content that i don´t want to see. Figuratively a link is only the same as my black paper or a kind of eyeglasses that filters the content. At last i don´t want to begin a debate of rights here, so in the future i will try to follow the rules of this community more strictly. Thank you for your advice. Dirk -
Starting Programming Where to begin?
Dirk Wolfgang Glomp replied to MOOSE1405241519's topic in Programming
I began to learn to program on a TI 99-4a (from Texas Instruments) from looking and editing some Basic-Listings that i found.With an old Ghetto-Blaster(cassette-recorder) we load some listings into the Basic-ram. But we wait allways many hours for to load a small Listing. Additional the basic interpreter was also very slowly, so i begin to look to an alternative to speed up a program. A friend of mine told me that i have to learn how CPUs are working. Some years later i begin to learn how 6502-CPUs(Comodore 64) are working. Starting on a 80286-CPU i began with DOS and debug.exe to program on a x86. Today i use an Intel Core2quad Q9550@2.83 ghz. .............. but i need more single CPU-speed for routines that can´t be split like iterative formula. An answer from Betov (in alt.lang.asm) regarding the question "Why use assembly": "The price of freedom, so to say, and one of the reasons i am used to say that Assembly is an anarchist Language, whereas C (typicaly) is a fascist Language." Dirk -
I like it to copy files with Winscp from Windows to a different PC that run Linux with a ssh-server. Additional i use Putty to login and to telecontrol some Linux-PCs. But there is a little different between text-files that comes from Windows and text-files that comes from Linux. If we save a text-file with Notepad, then it contains "carriage return"-bytes at the end of every line. A text-file saved with a Linux editor contains only "linefeed"-bytes. For to remove "carriage return"-bytes from a text-file on a Linux-PC i use this script: #!/bin/sh for i in `find -type f`; do tr -d '\r' <$i >/tmp/trtmp && mv /tmp/trtmpAdditional i have written a little aplications for to run under DOS/Windows for to remove "carriage return"-bytes from smaller text-files(<64KB). ; Sourcecode for MASM 5 .MODEL SMALL.386 CODE SEGMENT use16 'CODE' assume cs:CODE,ds:DATEN,ss:STAPEL org 100hSTART: mov ax, DATEN mov ds, ax mov bx, ss ; zunächst die beiden Segmentadressen mov ax, es ; voneinander abziehen. Das ergibt die sub bx, ax ; Anzahl der Paragraphen vom PSP bis ; zum Anfang des Stack mov ax, sp ; da sich der Stackpointer am Ende des add ax, 0Fh ; Stacksegments befindet, gibt sein shr ax, 4 ; Inhalt die Länge des Stacks an add bx, ax ; zur bisherigen Länge hinzuaddieren mov ah, 4Ah ; neue GrĂśĂe an das DOS Ăźbergeben int 21h mov bx, 1000h ; 64 KB anfordern/reservieren mov ah, 48h ; anfordern/reservieren: BX = Anzahl/16 int 21h jc NOSPACE ; keine 64 KB = Fehler ! mov [FILSEG], ax ; Segment des File's mov fs, ax;---------------------------------------------------------------------------- mov ah, 62h ; Segment des PSP's ermitteln int 21h mov ds, bx ; PSP-Segment nach DS mov es, bx mov di, 80h ; Länge Kommandozeile mov cl, [di] ; nach CL cmp cl, 2 jna NOPARA cld ; aufwärts zählen inc di mov al, 20h repe scasb ; erste Leerzeichen Ăźberspringen dec di ; ein zurĂźck mov bp, diSUCHCR: cmp BYTE PTR[di], 0Dh jz short FOUND inc di jmp SUCHCR;------------------------------------FOUND: mov WORD PTR[di], 2400h; hinter filenamen: 0,"$" mov ax, fs mov cx, es mov fs, cx mov es, ax;---------------------------------------------------------------------------- mov dx, bp ; Zeiger auf 1.ASCII mov ax, 3D02h ; Datei Ăśffnen: lesen/schreiben (OPEN) int 21h jc NOFILE ; File nicht gefunden = Fehler ! mov bx, ax mov ax, DATEN mov ds, ax xor dx, dx ; low auf Anfang stellen xor cx, cx ; high auf Anfang stellen mov ax, 4202h ; Länge holen: vom Ende (LSEEK) int 21h and dx, dx ; High-word = null ? jnz TOBIG ; nein zurĂźck mov [FILEN], ax ; Anzahl retten mov dx, 1 ; low holen xor cx, cx ; high holen mov ax, 4200h ; Zeiger positionieren: vom Anfang(LSEEK) int 21h ; nochmal wegen DOS-Fehler xor dx, dx ; low holen xor cx, cx ; high holen mov ax, 4200h ; Zeiger positionieren: vom Anfang(LSEEK) int 21h mov cx, [FILEN] ; Anzahl zu ladender Byte's mov ds, [FILSEG] mov ah, 3Fh ; Datei lesen u. Zeiger bewegen (READ) int 21h mov cx, ax mov ah, 3Eh ; Datei schlieĂen (CLOSE) int 21h;---------------------------------------------------------------------------- mov ax, DATEN mov ds, ax xor si, si mov [FILEN], cxSUCHE: cmp si, cx ; Ende des File erreicht ? ja short ZMA cmp BYTE PTR es:[si], 0Dh jz short SCHR inc si jmp short SUCHE;------------------------------------SCHR: dec WORD PTR[FILEN] sub cx, si mov di, si inc si mov ds, [FILSEG] dec cx mov dx, si rep movsb mov ax, DATEN mov ds, ax mov si, dx mov cx, [FILEN] jmp short SUCHE;----------------------------------------------------------------------------ZMA: mov ax, fs mov dx, 82h xor cx, cx mov ds, ax mov ah, 3Ch ; Datei erstellen (CREATE) int 21h mov bx, ax mov ax, DATEN mov ds, ax xor dx, dx mov cx, [FILEN] mov ds, [FILSEG] mov ah, 40h ; Datei beschreiben (WRITE) int 21h;----------------------------------------------------------------------------NBACK: mov ah, 3Eh ; Datei schlieĂen (CLOSE) int 21hBACKE: mov ax, 4C00h int 21h;--------------------------------------------------------------------------- NOSPACE: mov dx, OFFSET ERRTEXT mov ah, 9 int 21h jmp short BACKE;------------------------------------NOPARA: mov ax, DATEN mov ds, ax mov dx, OFFSET PARERR mov ah, 9 int 21h jmp short BACKE;------------------------------------NOFILE: mov ax, DATEN mov ds, ax mov dx, OFFSET FILERR mov ah, 9 int 21h mov ax, fs mov ds, ax mov dx, bp mov ah, 9 int 21h jmp short BACKE;------------------------------------TOBIG: mov dx, OFFSET BIGERR mov ah, 9 int 21h jmp short NBACK CODE ends;--------------------------------------------------------------------------- DATEN SEGMENT use32 'DATA'FILSEG DW 0FFFFh ; Segment des File`sFILEN DW 0FFFFh ; Anzahl der geladenen Byte`sFILERR DB 0Dh, 0Ah DB "FEHLER ! File auf (angegebenen) Laufwerk/Pfad nicht gefunden = $"PARERR DB 0Dh, 0Ah DB "FEHLER ! Kein Filename als Parameter angehängt/Ăźbergeben !$"ERRTEXT DB 0Dh, 0Ah DB "FEHLER ! Zu wenig Arbeits-Speicher vorhanden !" DB 0Dh, 0Ah, 0Dh, 0Ah DB "Das Programm benĂśtigt zur AusfĂźhrung, ca. 64 KB freien Arbeits-Speicher !" DB "$"BIGERR DB 0Dh, 0Ah DB "FEHLER ! File ist grĂśĂer als 64KB !$" DATEN ends;--------------------------------------------------------------------------- STAPEL SEGMENT use16 STACK 'STACK' DB 20h dup (0FFh) STAPEL ends;--------------------------------------------------------------------------- endDirk
-
Graphcal User Interfaces In Java How do you make them?
Dirk Wolfgang Glomp replied to .:Brian:.'s topic in Programming
I have played a little with JBuilder, but i have not really a know what i am doing. // $Header: z:/javafrak.java 2.1import java.awt.*;import java.lang.*;public class javafrak extends java.applet.Appletimplements Runnable{ Thread thread=null; int Max_X,Max_Y,Iter,X,Y,Col,ColR,ColG,ColB; double A,B,C,D,G,F,H,I,J,K,L,M,Zoom,verti,hori; double A1,B1,C1,D1,Step; String message1,message2,textfont; int textsize,textX,textY,textH,textW; Graphics offGraphics; Image offImage; public void init() { Max_X=size().width; Max_Y=size().height; offImage=createImage(Max_X,Max_Y); offGraphics=offImage.getGraphics(); offGraphics.fillRect(0,0,Max_X+1,Max_Y+1); Iter = 1250; hori = .000036; // nach rechts verti = .000035; // hĂśher Zoom = .002500; // tiefer Step = Zoom/80; A = -.765216+Zoom+hori; B = -.765325-Zoom+hori; C = .099886-Zoom+verti; D = .099996+Zoom+verti; message1 = "Bitte etwas Geduld"; message2 = "Fraktal wird berechnet"; textfont = "TimesRoman"; textsize = 36; Font myFont=new Font(textfont, Font.BOLD, textsize); FontMetrics myMetrix=getFontMetrics(myFont); textH=myMetrix.getHeight(); textW=myMetrix.stringWidth(message1); textX=(int)((Max_X-textW)/2); textY=(int)((Max_Y-textH)/2)-myMetrix.getDescent(); setFont(myFont); } public void start() { if(thread == null) { thread = new Thread(this); thread.start(); } } public void stop() { thread = null; offImage = null; offGraphics = null; } public void run() { while (thread != null) { try {Thread.sleep(0);} catch (InterruptedException e) {} repaint(); } } public void paint(Graphics g) { setBackground(Color.black); g.setColor(Color.green); g.drawString(message1,textX,textY); g.drawString(message2,textX-textsize,textY+textH); update(g); } public void update(Graphics g) { A1 = A; B1 = B; C1 = C; D1 = D; A -= Step; B += Step; C += Step; D -= Step; G=(D1-C1)/Max_Y; F=(B1-A1)/Max_X;//---------------------------------------------- for (Y = 0; Y < Max_Y; Y++) { for (X = 0; X < Max_X; X++) { Col=0; K=G*Y+C1; J=K; I=F*X+A1; H=I; L=J*J; M=H*H;//---------------------------------------------- frak: { while (Col<Iter) { J=2*H*J+K; H=M-L+I; L=J*J; M=H*H; Col++; if ((M+L)>4) { break frak; } } }// -------------- Pixel-Setzer ---------------- Col=(Col & 0x0000FF); // and ColR=(Col & 0xE0); ColG=(Col & 0x18); ColG=(ColG << 3); // shl ColB=(Col & 0x07); ColB=(ColB << 5); offGraphics.setColor(new Color(ColR,ColG,ColB)); offGraphics.drawLine(X,Y,X,Y);//---------------------------------------------- } // next X } // next Y//---------------------------------------------- g.drawImage(offImage,0,0,this); }}Dirk -
Only a few vesa function is for the protected mode(PM) only. So it is not possible to set a vesamode using the PM.But it is possible to use most VESA 3 function in the realmode(RM). VESA 3 provide vesamodi with own refreshrate that can be used also in banked mode. Linear Vesamodi can also be used with EMS-memory-manager within the RM or the Unrealmode/Bigrealmode/Flatrealmode(without a memory-manager). Dirk