Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Themen - TeeJay

Seiten: [1]
1
Offtopic / Kleines Projekt zum Theme Spieleprogrammierung
« am: 09. June 2005, 20:20 »
Alloa.

Da ich gerade an einem kleinen Spiel arbeite, hatte ich mich entschlossen eine umfangreiche Dokumentation dazu zu schreiben.

Wer interesse hat kann sich das ja mal auf www.jay-code.de unter Projekte -> Bomberman anschauen.

Kritik ist ausdrücklich erwünscht :)

mfg
TJ

PS: Nicht das ich die Leute zur Spieleprogrammierung bekehren möchte, aber kann ja sein das der ein oder andere ohnehin interesse daran hat.
2
Offtopic / Versuche aus meinem Studium
« am: 06. February 2005, 17:35 »
Ich hab mal die ersten beiden Versuch inklusive Ausarbeitungen des Fachs Mikrocomputertechnik auf meiner HP online gestellt.

Wer interesse hat kann es sich ja mal anschauen und ggf. hier was dazu schreiben bzw. fragen.
3
OS-Design / Memory Management
« am: 10. December 2004, 16:13 »
Alloa.

Ich hab mir schon ne ganze weile den Kopf zerbrochen wie man Speichverwaltung realisiert.

Also was die Funktion malloc im Grund macht und wie man das ganze Verwaltet.

Jedes mal eine neue Page von 4KB zu reservieren wäre zwar einfach, aber doch recht verschwenderich.

Ich unter Windows mal ein bisschen rumprobiert. Dort hab ich festgestellt, das vor jedem reserviertem kleinen Speicherbereich eine Art Header vorangestellt wird, der wohl Infos zu dem reserviertem Block gibt.
Ich hab den Header bisher noch nicht entschlüsseln können. Aber wichtig ist ja nunerstmal das es diesen gibt.

Nun müsste es aber trotzdem noch eine Art Tabelle geben, die sämtliche reservierten Speicherbereiche listet. Weil irgendwie muss die Funktion malloc ja auch feststellen können, wo bereits Speicher belegt ist und wo sie neuen reservieren kann.

Was ich im Grunde mal fragen wollte, ist wie IHR das bei euch mit der Speicherverwaltung gelöst habt.

Paging ist zwar auch Speicherverwaltung, setzt jedoch eigentlich an einem anderen Punkt an.
4
Das Wiki / An Alle die Assembler-Tuts geschrieben haben
« am: 23. July 2004, 16:04 »
Vor einiger Zeit haben ein paar Leute (mit denen ich im ICQ kontakt hatte) Tutorials für Assembler geschrieben

Da meine ICQ-Liste aber futsch is und ich mich nichtmehr an alle Namen derjeniger erinnern kann, bitte ich darum, das sich diejenigen mal bei mir im ICQ melden (59868486) damit wir die Tuts mal zusammensammeln und veröffentlichen können.

mfg
TeeJay
5
Offtopic / Probleme mit ausländischen "Mitbürgern"?
« am: 19. May 2004, 14:32 »
Alloa.

Gleich vorweg: Dies soll keine rasisstische Aufhetzung oder dergleichen sein.
Auch bin ich nicht generell gegen Ausländer.

Aber ich muss mir mal etwas Frust von der Seele reden.

Gerade gestern hatten ein paar Freunde und ich mal wieder (wie so oft) eine Auseinandersetzung mit türkischen Mitbürgern. Dir pure streitlust und Aggressivität treibt diese Leute immer wieder dazu uns anzupöbeln und zu provozieren.

Auch als wir gestern dann einfach davonlaufen wollte, liesen diese nicht von uns ab. Sie wollten umbedingt eine Schlägerei anzetteln. Die höhe davon ist noch das diese Kerle meist auch noch viel Kleiner und Jünger als wir sind.
Der eine hatte dann auch gleich noch ein Messer dabei und ein weiterer zögerte sogar nicht sein K.O. Gas zu benutzen, was glücklicherweise nicht funktionierte, weil die Dose scheinbar defekt war.


Jetzt ist mal meine konkrete Frage ob ihr bei euch im Dorf/Stadt ähnliche Probleme habt und wie ihr damit umgeht.

Von meinen Eltern und auch von der Polizei bekommen wir immer nur die lapidare Aussage wir sollten denen aus dem Weg gehen. Geht aber schlecht da diese es immer wieder darauf anlegen.

Ich finde es eine Schande das wir deutsch uns sowas Tag für Tag gefallen lassen müssen! Es geht ja auch anders. Ich hab in meiner direkten Nachbarschaft ebenfalls eine türkische und eine indische Familie. Und diese Leute sind unheimlich nett und hilfsbereit, so wie es ja auch sein sollte.

Ich als Junger "Wähler" frage mich dann immer wieder ob ich nicht das nächste Mal ein Kreuz bei der NPD machen sollte.

WIe gesagt. Das soll keine Hetze sein und ich habe auch kein generelles Problem damit, das wir Ausländer in unserem Land haben.

Ich wollte einfach nur mal hören ob es hier noch Leute gibt die ähnliche Probleme haben und wie ihr damit umgeht.
6
Lowlevel-Coding / Betriebssysteme Quellcode
« am: 05. May 2004, 17:01 »
Auf Wunsch der Einsicht in die Quellen habe ich diesen Thread mal eröffnet.

Hier kann jeder mal einen Link zu den Quellcodes seines OS bereitstellen.

Jeder soll somit die Möglichkeit haben das ganze mal durchzuschauen.


ACHTUNG!!
Hier sollen NUR die Links zu den Quellcodes der OS'e und evtl etwas Beschreibung dazu gepostet werden.

Fragen an die betreffenden Leute bezüglich des Codes sollen NICHT hier gepostet werden, sondern direkt an die Entwickler, per Mail oder ICQ.


Jay-OS Quellen
7
Offtopic / Kennt jemand das Lied?
« am: 27. April 2004, 20:33 »
Alloa.

Ich hab mir letztens den Film Drumline angeschaut.
Und da ist mir ein Lied aufgefallen das mir eigentlich ganz gut gefällt. Ich hab es auch schonmal irgendwo in einem Soundtrack gehört. Doch leider weiß ich nicht wie dieses heißt, geschweige denn wer es komponiert hat oder wer es normal spielt.

Auch auf dem Soundtrack von Drumline ist dieses nicht drauf und am Ende des Films kann man auch nicht erkennen welcher der etlichen Titel das ist.

Also hört es euch einfach mal an und sagt bescheid wenn ihr das in irgendeiner Form identifizieren könnt.

Ausschnitt
8
Offtopic / Projektplattform
« am: 20. April 2004, 14:42 »
Da ich meine blöde VWL-Arbeit heute hinter mich gebracht hab, hab ich die Woche erstmal wieder etwas Freiraum

Die werde ich dazu nutzen eine kleine Plattform für Projekte zu bauen.
Das wird so sein, das man sich auf einer Webpage sein eigenes Projekt (sei es Tutorials zu schreiben, ein Programm zu entwerfen usw) eintragen kann.
Dazu kann man dann eine Beschreibung abgeben was das Projekt beinhaltet.
Leute die sich dann dafür interessieren und mitmachen möchten, können sich an dem jeweiligen Projekt anmelden.

Jeder der angemeldeten Mitglieder kann dann Beiträge in Form von Dateien die Hochgeladen werden oder Links zu eigenen content dem Projekt hinzufügen.
Diese Beiträge können dann von den anderen Projektteilnehmern kommentiert werden.

Eine erste Rohfassung wird es vielleicht die Tage schon geben. Dann werd ich das hier verlinken und ihr könnt eure Meinung bzw. Änderungswünsche oder Ergänzungen hier posten.


Hintergrund ist folgender:
Wie vielleicht schon etwas bekannt, sind ein paar Mitglieder hier und ich gerade damit beschäftigt eine einleitende Assembler Tutorial Reihe zu schreiben. Da wir das aber nun so handhaben das wir unser Zeugs gegenseitig Korrekturlesen bzw. Kritisieren, ist es blöd jedesmal das ganze per EMail oder dergleichen austauschen zu müssen.

So kann sich auf dieser Plattform jeder den Beitrag der anderen anschauen und diesen kommentieren. Wenn das Projekt dann fertig ist, kann man es für die "Öffentlichkeit" zugängig machen.
9
Offtopic / Bomberman
« am: 12. April 2004, 18:42 »
Alloa.

Da ich zur Zeit damit beschäftigt bin ein kleines Spiel zu schreiben, will ich das euch nicht vorenthalten :)

Das ganze ist ein Remake vom Bomberman (Gabs früher mal für SNES und nun auch für N64).

Steuerung ist ganz simpel. Mit den Pfeiltasten läuft man und mit Leertaste legt man Bomben.

Leider gibts noch keine Gegner und manche Texturen sehen noch nicht so gut aus, aber es läuft zumindest schonmal und man kann immerhin Felsen wegsprengen.

Probiert es einfach mal aus und sagt mir mal eure Meinung. Kritik nehm ich zwar auch gerne entgegen, aber bitte bedenkt das das Spiel noch ein gutes Stück von der Fertigstellung entfernt ist.

Download

PS: Das spiel läuft nur unter Windows. Benötigt dafür aber kein DirectX.

Rechts im weißen Bereich stehen drei Ziffern. Die oberen beiden geben an in welchem Feld ihr euch befindet und die untere gibt an wie viele Millisekunden es gedauert hat das aktuelle Frame zu berechnen.

Wäre sehr hilfreich wenn ihr (sofern mehr als 0 Millisekunden angezeigt werden) ihr mal schrieben könntet auf welchem System ihr das getestet habt und welchen Wert die Millisekundenanzeige hatte.
10
Offtopic / Webspace?
« am: 14. March 2004, 18:10 »
Alloa.

Wie einige gemerkt haben werden sind die Dateien im Ressource-Center nicht mehr verfügbar. Das liegt daran, das mein Account wohl gelöscht wurde.
Das mag deshalb geschehen sein, weil es laut den AGBs nicht erlaubt war Dateien auf externen Seiten zu verlinken.

Und daher suche ich nun neuen Webspace um die Dateien wieder online zu stellen.
Allerdings erweist sich das als recht schwierig, da es kaum noch gute Webspaceanbieter gibt. Die meisten verbieten es gezippte Dateien zu uppen, die Dateigröße darf nur 400 KB sein und und und.

Daher frage ich hier ob jemand vielleicht zufällig einen Anbieter kennt, der kostenlos Webspace zur Verfügung stellt.
Im Endeffekt müßte dieser lediglich 50 MB (oder mehr) zur Verfügung stellen, die Dateigröße sollte wenns geht 1 MB (oder größer) sein und es soll erlaubt sein diesen Webspace lediglich zum aufbewahren von Dateien zu nutzen.

Wenn jemand einen solchen Anbieter kennt, der möge sich hier oder direkt bei mir melden.

mfg
TeeJay
11
Lowlevel-Coding / Simple Konsole
« am: 01. March 2004, 18:19 »
Während ich das FAT12 Tutorial geschrieben habe, hatte ich mir nebenher auch ein wenig 16 Bit Real-Mode Code geschrieben um das ganze auszuprobieren. Dabei hatte ich auch eine sehr simple Konsole entwickelt.
Da im Forum schon über eine solche Diskutiert wurde, möchte ich diese hier mal veröffentlichen.
Dazu muss ich sagen das sie leider nicht kommentiert ist und wohl auch sehr sehr spärlich ist. Jedoch hiflt es vielleicht dem einen oder anderen auf eine Idee zu kommen.

Hier zuerst die Variablen:
COMMAND_Command    resb 256

COMMAND_CMD_Hello        db    "hello",0
COMMAND_CMD_ReadBootSec    db    "readbootsec",0
COMMAND_CMD_Reboot        db    "reboot",0

COMMAND_MSG_Invalid        db    "INVALID COMMAND!!",13,10,0
COMMAND_MSG_Hello        db    "Hello there!",13,10,0
Hier nun die Funktion, welche einen String von der Tastatur entgegennimmt und in die Variable COMMAND_Command schreibt.
Sobald Enter gedrückt wird, wird ein NULL-Byte an das Ende des Strings gesetzt und die FUnktion zum auswerten der Befehle aufgerufen:

func_COMMAND_GetCommand:
    push    bp
    mov        bp, sp
   
    push    ax
    push    bx
    push    cx
    push    dx
    push    di
    push    es
   
    mov        bx, cs
    mov        es, bx

label_COMMAND_GetCommand_Start:
    mov        di, COMMAND_Command
    mov        bx, 0x0007
    mov        cx, 10
   
label_COMMAND_GetCommand_ReadChar:
    mov        ah, 0
    int        0x16
    cmp        al, 0x0D
    je        label_COMMAND_GetCommand_LastChar
    cmp        al, 0x08
    je        label_COMMAND_GetCommand_Backspace
    mov        ah, 0x0E
    int        0x10
    stosb
    dec        cx
    jcxz    label_COMMAND_GetCommand_LastChar
    jmp        label_COMMAND_GetCommand_ReadChar

label_COMMAND_GetCommand_Backspace:
    cmp        cx, 10
    je        label_COMMAND_GetCommand_ReadChar
   
    inc        cx
    dec        di
    mov        ah, 3
    mov        bh, 0
    int        0x10
    dec        dl
    mov        ah, 2
    int        0x10
    mov        al, 0x20
    mov        ah, 0x0E
    mov        bx, 0x0007
    int        0x10
    mov        ah, 2
    int        0x10
    jmp        label_COMMAND_GetCommand_ReadChar
   
label_COMMAND_GetCommand_LastChar:
    mov        al, 0
    stosb
    mov        ah, 0x0E
    mov        al, 0x0D
    int        0x10
    mov        al, 0x0A
    int        0x10
    push    COMMAND_Command
    push    ds
    call    func_STRING_ToLower
    add        sp, 4
    call func_COMMAND_ExecuteCommand

label_COMMAND_GetCommand_End:
    pop        ds
    pop        di
    pop        dx
    pop        cx
    pop        bx
    pop        ax
   
    mov        sp, bp
    pop        bp
    ret
Hier die Funktion welche die Befehle auswertet.
Es werden einfach der Reihe nach sämtliche Befehle mit dem eingegeben String verglchen und dann eine entsprechende Aktion ausgeführt:

func_COMMAND_ExecuteCommand:
    push    bp
    mov        bp, sp
   
    push    ax

;--------------------------------------------------
   
    push    COMMAND_Command
    push    cs
    push    COMMAND_CMD_Hello
    push    cs
    call    func_STRING_CompareStrings
    add        sp, 8
    cmp        ax, 1
    je        label_COMMAND_CMD_Hello

   
    push    COMMAND_Command
    push    cs
    push    COMMAND_CMD_ReadBootSec
    push    cs
    call    func_STRING_CompareStrings
    add        sp, 8
    cmp        ax, 1
    je        label_COMMAND_CMD_ReadBootSec


    push    COMMAND_Command
    push    cs
    push    COMMAND_CMD_Reboot
    push    cs
    call    func_STRING_CompareStrings
    add        sp, 8
    cmp        ax, 1
    je        label_COMMAND_CMD_Reboot
   
    jmp        label_COMMAND_CMD_Invalid

;--------------------------------------------------

label_COMMAND_CMD_Hello:
    push    COMMAND_MSG_Hello
    push    cs
    call    func_STRING_PrintString
    add        sp, 4
    jmp        label_COMMAND_ExecuteCommand_End


label_COMMAND_CMD_ReadBootSec:
    call    func_FAT12_ReadBootSector
    jmp        label_COMMAND_ExecuteCommand_End


label_COMMAND_CMD_Reboot:
    db        0xEA
    dw        0x0000
    dw        0xFFFF    
;    jmp        label_COMMAND_ExecuteCommand_End


label_COMMAND_CMD_Invalid:
    push    COMMAND_MSG_Invalid
    push    cs
    call    func_STRING_PrintString
    add        sp, 4
    jmp        label_COMMAND_ExecuteCommand_End
   
;--------------------------------------------------
   
label_COMMAND_ExecuteCommand_End:
    pop        ax

    mov        sp, bp
    pop        bp
    ret
Bei Fragen bezüglich zum Code einfach hier posten.
12
Lowlevel-Coding / Bootloader
« am: 29. February 2004, 22:26 »
Alloa.
Da ich selbst hin und wieder ein bisschen am OS-Coden bin, hab ich mir mal einen Bootloader geschrieben um mir das ausprobieren etwas komfortabler zu machen. Mir war es lästig jedes mal mit RawWrite auf eine Diskette schreiben zu müsen. Daher hab ich einen Bootloader geschrieben der eine binäre Datei aus dem Root-Verzeichnis einer FAT12 formatierten Diskette in den Speicher läd und dann ausführt.

Da hier leider noch keine Funktion vorhanden is um bequem Code zu posten, stelle ich diesen auf meiner HP zum DL bereit.

http://www.sub--zero.de/scripts/htmlgenerator.php?page=bootloader&directory=tutorials

Ganz am Ende ist der Link zur Zip mit dem Code.
Seiten: [1]

Einloggen