AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi/Pascal Programm booten?

Ein Thema von jansie · begonnen am 9. Jun 2007 · letzter Beitrag vom 12. Jun 2007
Antwort Antwort
Seite 2 von 3     12 3      
stefan2005

Registriert seit: 30. Sep 2003
Ort: Puchheim
250 Beiträge
 
Delphi 6 Personal
 
#11

Re: Delphi/Pascal Programm booten?

  Alt 9. Jun 2007, 23:08
hi,
wenn du wirklich ein Delphi Programm (von einem eigenen Bootloader natürlich) booten lassen willst, sollte dein Bootloader das PE-Format auswerten können und für Delphi brauchst du eine eigene System.pas, um alle WinAPI-Aufrufe zu verbannen. Natürlich funktioniert dann dein Writeln nicht mehr und du musst direkt auf den Videospeicher zugreifen, bzw. selbst alle Funktionen schreiben.
Alles in allem für Anfänger nichts sinnvolles, eigne dir lieber erst einmal ein paar Grundkenntnisse an und setze dir leichtere Ziele (deutschsprachige Infos z.B. auf Lowlevel).

Ansonsten kannst du wie bereits erwähnt, einfach MS DOS oder FreeDOS hernehmen und dann ein 16-Bit Programm mit Turbo Pascal oder FreePascal erstellen und ausführen lassen.

Viel Spaß
Grüsse, Stefan
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#12

Re: Delphi/Pascal Programm booten?

  Alt 10. Jun 2007, 00:09
FreeDOS ist IMHO auch 32 bittig.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#13

Re: Delphi/Pascal Programm booten?

  Alt 10. Jun 2007, 16:05
Zitat von stefan2005:
Natürlich funktioniert dann dein Writeln nicht mehr und du musst direkt auf den Videospeicher zugreifen, bzw. selbst alle Funktionen schreiben.
Warum immer gleich in den VideoRAM schreiben? Ok, es ist schneller, aber es interessiert hier keine Geschwindigkeit. Warum nicht einfach etwas kompatibleres nehmen und die BIOS Ausgabe nutzen? Schliesslich wird der INT 10h noch immer von allen Grafikkartenherstellern mit ihrem VideoROM umgebogen und bedient. Damit ist dann auch der Cursor beachtet, etc. Vor allem ist es deutlich weniger Aufwand...
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Delphi/Pascal Programm booten?

  Alt 10. Jun 2007, 16:20
In 16 Bit mag das gehen, ab 32 Bit allerdings nichtmehr
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#15

Re: Delphi/Pascal Programm booten?

  Alt 11. Jun 2007, 10:33
Zitat von inherited:
In 16 Bit mag das gehen, ab 32 Bit allerdings nichtmehr
Wieso sollte nicht? Oder zielst du auf einen CPU Modus ab? Weil ersteres sagt nichts über letzteres aus...
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#16

Re: Delphi/Pascal Programm booten?

  Alt 11. Jun 2007, 11:29
Übrigens danke JamesTKirk für Deinen Link dort, die Mini-System/SysInit find ich ganz nett um mal ein bißchen "native" zu spielen wieder
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#17

Re: Delphi/Pascal Programm booten?

  Alt 11. Jun 2007, 12:13
Bitte, bitte... den hatte ich vor einger Zeit mal gefunden und in meinem Gedächtnisspeicher reingestopft, als ich mich mal selbst mit dem träumerischen Gedanken ein eigenes OS zu schreiben rumgespielt hab.
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#18

Re: Delphi/Pascal Programm booten?

  Alt 11. Jun 2007, 12:18
Zitat von jansie:
ich habe ein kleines simples Programm:
...
Nun möchte ich dieses Programm zu einem Mini-Betriebsystem umwandeln.
Also was muss ich mit dem Programm anstellen damit ich es (in welchem Format auch immer) auf CD brennen kann und beim booten von dieser CD, der Computer mich mit "Welcome!" begrüßt?
Tommie hat ein schönes Beispiel gepostet, wie man so einen Bootloader schreiben könnte.
Sein Bootloader ist zwar nicht in Delphi sondern in Assembler, aber damit sollte sich ohne Probleme ein einfacher String beim Booten ausgeben lassen.
(Titel: Re: Maschinensprache und Assembler - ein kleines Beispiel, wenn Du auf den 1. Beitrag in dem Tutorial gehst, findest Du eine kleine Einführung in Assembler.)

Code:
...
    load_stage2:
    /* hier wird der Text msg_load ausgegeben (msg_load: .ascii "Loading stage 2...\x0d\x0a\x00") */ 
    mov si, offset msg_load
    call print_string

    /* hier stoppt der Bootloader -> der PC steht und macht dann gar nix mehr :-) */ 
    jmp halt
...
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
stefan2005

Registriert seit: 30. Sep 2003
Ort: Puchheim
250 Beiträge
 
Delphi 6 Personal
 
#19

Re: Delphi/Pascal Programm booten?

  Alt 11. Jun 2007, 13:34
hi,

Muetze1: Direkt auf den Videospeicher deshalb zugreifen, weil der BIOS Code nur als 16 Bit Code vorliegt und man ihn deshalb nicht im 32-Bit Mode verwenden kann.

Grüsse,
Stefan
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#20

Re: Delphi/Pascal Programm booten?

  Alt 11. Jun 2007, 23:43
Zitat von stefan2005:
Muetze1: Direkt auf den Videospeicher deshalb zugreifen, weil der BIOS Code nur als 16 Bit Code vorliegt und man ihn deshalb nicht im 32-Bit Mode verwenden kann.
Wie oft denn noch: trenne zwischen 32 Bit Modus (V86, PM, RM) und 32 bit Code. Ich kann ohne Probleme auch mit 32 Bit Code 16 Bit Code aufrufen. gleiches sogar mit Trickserei andersherum - so lange beide mit dem aktiven CPU Modus klarkommen. Real Mode heisst nicht gleich 16 Bit Code!

Ausserdem ist es mit V86 nicht das Problem auch diesen Code in anderen Modien als RM diesen auszuführen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz