|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 18.07.2006, 19:05 Titel: Hoher speicherbereich |
|
|
hallo
ich will eine GUI (jaja, motzen bitte woanders oder mit [motzen] und [/motzen] kennzeichnen...) programmieren und frag mich, ob und wie ich an die 256 MB RAM von meim Laptop unter REINEM Dos komm...
is des der ems/xms oder muss ich da n ganzes os nehmen (oder mir nen linux kernel schnorren) _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 19.07.2006, 08:53 Titel: |
|
|
Unter reinem DOS nur per Protected Mode. Dann darfst du aber mit ASM und zumeist auch C bzw. C++ anfangen. Anders nicht, da die Kompatibilität zum 8086 gewärt bleiben sollte. Und dieser hatte nur 20 Bit breite Adressleitungen, ein bisschen getrickst und du konntest einen Megabyte ansprechen. Achja: im PM kannst du dich von den BIOS-Interrupts verabschieden - die liegen im unteren Speicherbereich, den du jetzt nicht mehr nutzen kannst. Schau dir am Besten mal die erste Folge von Adok's Assemblertutorial auf qbasic.de an.
Einen Linux-Kernel zurechttrimmen? Die Sourcen haben gepackt(!) schon rund 20-30 Megabyte. Von heute auf morgen siehst du im Linux-Kernel nicht durch...
Sorry, aber was and'res fällt mir momentan nicht ein... _________________ Eine handvoll Glück reicht nie für zwei.
--
Zuletzt bearbeitet von Mao am 01.01.2008, 23:00, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 19.07.2006, 13:52 Titel: |
|
|
Wenn du gut ASM könntest, dann könntest du dir eine Routine für deine QB-Programme schreiben, die Arrays usw. in eine externe Datei auslagert. Dann hättest du so viel "Arbeitsspeicher" für deine Datenfelder etc., wie auf deine HDD passt. Das Problem dabei ist, dass das irre langsam wird, wenn du das in QB schreibst, was ja ansonsten möglich wäre. Um sowas vernünftig nutzen zu können, müsstest du dir solche Routinen halt in ASM schreiben und das ist nicht einfach. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
croco97
Anmeldungsdatum: 04.11.2005 Beiträge: 260
|
Verfasst am: 03.08.2006, 12:10 Titel: |
|
|
Einführung in das Problem auf
http://www.askos.de/ram
Kurzfassung: 3 Möglichkeiten
1.) Nutzung von EMS/XMS - maximal 64 MB, segmentiert in 16K- oder 64K-Pages. Gibt's für QB viele Libs, die man nutzen kann.
2.) Nutzung eines DOS-Extenders. Wie's da mit QB-Libs aussieht, weiss ich nicht.
3.) Gleich in den Protected Mode gehen ==> Sehr heikel, vor allem in Verbindung mit Grafiknutzung.
Grüsse!
Croco |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 03.08.2006, 15:36 Titel: |
|
|
Die Grafiknutzung ist dort nicht das Problem, sondern meiner Meinung nach der direkte Hardwarezugriff, zu dem du dort "gezwungen" wirst. Über BIOS-Ints mal eben auf Diskette/Festplatte oder ähnliches zugreifen, oder über DOS-Ints mal so nebenbei 'nen Text ausgeben lassen is' nich'.
Grafikausgabe ist hingegen einfach gestrickt:
du schaltest, bevor du den PM aktivierst, in einen VESA-Mode (den kannst du im PM nicht mehr ändern!), aktivierst das A20-Gate (nicht unbedingt notwendig, jedenfalls bei kleinen Programmen) und schaltest in den PM in dem du ein Bit im CR0-Register auf 1 setzt. Danach, ich weiß nicht mehr die genauen Adressen, kannst du auf den Grafikspeicher zugreifen, wie auf "normalen" unter DOS oder im RM.
Ähm...naja, abgesehen davon, dass der Speicher linear angeordnet ist und du vorher noch mindestens 2 Segmente definieren musst. Hinweis: Bank-Switching entfällt! _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|