Hallo guten Tag. Ich möchte bitte eine Grafik VGA320X200 256 Color in einen Reservierten Speicherbereich legen , sind glaube ich so 64kb. Ich möchte dann bei einer Spriteverschiebung dort ein Teil wieder nach VGA kopieren wo das Sprite war. Wie mache ich das bitte in TC3? Wie kann ich den TCC dazu bringen das ich es so Compiliere , das ich noch mehrere Segmente anlegen kann? SMALL wird wohl nicht reichen? Danke. GRuss
Beitrag "CGA und Byteaufteilung in der Darstellung mit Farben." und Beitrag "TC3 kennt bestimmte ASM-Befehle nicht." und Beitrag "Sprite bewegt sich nicht mit "A" und "W" ?" und Beitrag "VGA-Linien stimmen nicht beim Zeichnen." und Beitrag "Ein Byte im VGA-Modus 19 schreiben." und Beitrag "Wie gross kann ein Array sein beim 8086 mit TC 3.0" Und so weiter... Ich hab aufgehört... Das alles unter den ersten Posts und fast ein und das selbe Thema. Kannst du das nicht bitte ein wenig zusammenfassen?!
:
Bearbeitet durch User
Ich werds versuchen. Es sind aber verschiedene Abteilungen in der Grafik usw. Gruss
oder mal ein altes Data Becker Buch besorgen. Hier hat bestimmt noch einer sowas im Keller liegen, ich habe leider vor kurzem einen ganzen Umzugskarton mit dem historischen Zeug entsorgt.
http://www.c-jump.com/CIS77/ASM/Directives/D77_0030_models.htm Compact könnte passen dem dem Borland C++ 3.1 geht da so auf der Konsole oder einfach in den Projekt-Settings in der IDE bcc -ml pixel.c könnte bei dir tcc -ml pixel.c sein Vermutung -ms - small? -mh - huge? -mc - compact? -ml - large?
Hier stehen alle Infos http://pointersinclanguage.blogspot.com/2012/11/memory-model-in-c-programming_1470.html https://gist.github.com/berk76/02fa06d4628b3d1493fee41c80dd26ad
Peter B. schrieb: > Ich möchte bitte eine Grafik VGA320X200 256 Color in einen Reservierten > Speicherbereich legen , sind glaube ich so 64kb. malloc > Ich möchte dann bei einer Spriteverschiebung dort ein Teil wieder nach > VGA kopieren wo das Sprite war. memcpy
Danke für die Hilfe. Ich glaube ich falle euch bald auf dem Wecker. Aber manche Sachen finde ich, die passen dann nicht zum TC3. Das malloc zb habe ich gefunden: int * array = malloc(2 * sizeof(int)); Funktioniert nicht. Danke. Gruss
Die Meldung passt, da dein Code als C++ übersetzt wird. Dort ist es nicht zulässig, ohne Cast von void* nach int* zu konvertieren. In C wäre das anders.
Peter B. schrieb: > Funktioniert nicht. Und was sagt die Meldung? Ja, ich hab sie gelesen. Jetzt musst Du sie noch lesen und verstehen. Hint: casting
nun viel einfacher wäre es die Datei in *.c umzubenennen, dann ist reines C. Ich sehe nirgens dass der TO in c++ programmiert. Ich würde dir empfehlen die Borland Dokus zu beschaffen. So gut wie alle Bücher sind als PDF im Netz zu finden. (bitsavers).
Kleiner Denkanstoß Pseudo-Code kopiert ein Rechteck in einen (linearen) Speicher dest
1 | int X1,X2,Y1,Y2 |
2 | |
3 | assert(X1 >= 0 && X1 < 320) |
4 | assert(X2 >= 0 && X2 < 320) |
5 | assert(Y1 >= 0 && Y1 < 200) |
6 | assert(Y2 >= 0 && Y2 < 200) |
7 | assert(X2 >= X1); |
8 | assert(Y2 >= Y1); |
9 | |
10 | width = X2-X2; |
11 | height = Y2-Y1 |
12 | start_offset = line*320 + X1; |
13 | |
14 | byte* dest = (byte*)malloc(width*height); |
15 | |
16 | for(int line = 0; line < height; ++line) |
17 | {
|
18 | memcpy(dest, (seg,start_offset), width); |
19 | start_offset += 320; |
20 | dest += width; |
21 | }
|
cppbert schrieb: > width = X2-X2; > start_offset = line*320 + X1; > width = X2-X1; > start_offset = Y1*320 + X1;
Hallo Mods: könntet ihr nicht ein neues Forum "PeterB" einrichten? Das würde die Übersichtlichkeit stark erhöhen. Georg
Rene K. schrieb: > Das alles unter den ersten Posts und fast ein und das selbe Thema. > Kannst du das nicht bitte ein wenig zusammenfassen?! Er ist doch schon zu blöd ganz offensichtliche Lösungen über Google zu suchen und zu finden.
Nicht jeder ist das so versiert, manche können kein englisch usw. Nicht jeder der in kleine happen fragt ist faul sonder vielleicht nur untrainiert in der kommunikation
------------------------- Er ist doch schon zu blöd .... ------------------------- Danke , aber so eine Sprache aus der Gosse wo du herkommst liegt mir nicht. Viel Erfolg noch in deinem Leben. Du bist mir mit deiner Adresse bekannt und ich kenne auch dein Umfeld wo du herkommst. Da kann man keine Höflicheit erwarten. Viele Grüße von einem der noch Anstand hat.
:
Bearbeitet durch User
Haha... nur getroffene Hunde bellen :-)))) Viel Glück in deiner IQ losen Gosse.
Peter B. schrieb: > Viel Erfolg noch in deinem Leben. Du bist mir mit deiner Adresse bekannt > und ich kenne auch dein Umfeld wo du herkommst. zum "guten" Ton im Internet gehört auch das weghören wenn Anonyme sich beschweren, don't feed the trolls
Peter B. schrieb: > ------------------------- > Er ist doch schon zu blöd .... > ------------------------- Der Unmut, der hier hochkommt und den ich auch selber empfinde, liegt in einer falschen Erwartungshaltung an dieses Medium. Ein Forum oder eine Newsgruppe o.ä. ist primär dafür gedacht und geeignet, konkrete Hilfestellungen bei eng umrissenen Fragestellungen zu geben. Dabei muss vorausgesetzt werden, dass der Fragesteller sein Handwerk prinzipiell versteht. In diesem Fall heißt das, dass der Fragesteller (a) die verwendeten Programmiersprachen sicher (!) beherrscht und (b) die verwendete Architektur hinreichend gut kennt. Ohne das erforderliche Basiswissen sind nämlich die erhaltenen Ratschläge nicht sinnvoll umsetzbar. Foren sind ausdrücklich NICHT dafür geeignet, Grundlagenwissen zu vermitteln. Das überfordert dieses Medium und die Hilfswilligen und führt zu Unmut. Für die Vermittlung von Grundlagenwissen gibt es geeignetere Wege, beispielsweise die gebundenen Stapel von Totholz, auch Bücher genannt. Ja, systematisches Lernen ist anstrengend. Das war schon immer so und wird wahrscheinlich auch für die absehbare Zukunft so bleiben. Und eines ist auch klar. Wer sich in diesem Fachgebiet, wo über 95% aller Publikationen auf English sind, bewegt, der muss halt diese Sprache auch können. Punkt. Zumindest lesenderweise. Auch das ist lernbar. @Peter B.: Besorge Dir irgendwo her passendes Lesematerial (PC Intern 2.0, Turbo C Bücher von Markt&Technik, Data Becker oder wasweißich und 8086-Assembler), setze Dich auf Deinen allerwertesten, und ziehe Dir erstmal das Basiswissen rein, bevor Du hier noch mehr Leute nervst. fchk
:
Bearbeitet durch User
Warum denn so förmlich: Peter stellt sich doch gar nicht so blöd an, ist nicht frech und spamt das Forum auch nicht total zu, wer kein Bock hat brauch einfach nicht helfen, reicht doch
cppbert schrieb: > und spamt das Forum auch nicht total zu Naja, schon auf der ersten Seite gleich mal 14(!) von Ihm eröffnete Threads ist schon recht heftig.
Danke für die , die mir geholfen haben. Werde dieses Forum mit meinem allgemeinen Sachverstand nicht mehr belästigen. Ich werde mich melden, wenn ich 99% der Sprache beherrsche und werde die 1% minimal hier vom Forum anfordern und kurz fassen. Das wird aber bei mir dauern. Ich wünsche euch 99%tigen alles gute. Gruss
:
Bearbeitet durch User
Warum bist du eingeschnappt? Wenn du 99% von dem, was du wissen willst, bei Anderen erfragst. Und zum Teil primitive Sachen. Und zu einem Thema, was die Leute nur stumpf in Erinnerung haben bzw. die Mottenkiste wieder aufmachen müssen. Manche sind schon weggestorben. Mir hat mal ein Kollege gesagt, wenn du was fragst, dann weißt du schon 90% davon. Dann hab ich gesagt, ja, ich möchte nur noch die restlichen 10% wissen. Halte es auch so.
@Peter Bloss nicht eingeschnappt sein, interessiert keinen, Hilft dir nicht weiter, so ist das Internet eben, dickes Fell braucht man manchmal, Poste ruhig weiter deine Fragen, vielleicht ein wenig mehr verdichtet :) - viele Fragen die hier ueber die Woche rein gepurzelt sind hatten weniger Niveau Und schön wäre es trotzdem etwas über deinen Hintergrund zu wissen: Beruf, Alter, Englischkentnisse? (vielleicht bist du ja in echt doch die suesse Germanistikstudentin die als Überraschung für ihren Opa sich so richtig ordentlich in die Untiefen der DOS Programmierung eintauchen will) In viele Foren wird man gerne und schnell in die Jugentlicher der das neue Doom6000 mit null Wissen programmieren will oder fauler Student der keinen Bock hat Kiste gesteckt oder in die Kiste mit den technik affinen mittelalten Männer mit ordentlich Interneterfahrung, und gutem Informatikhintergrund, in jede der Kisten kannst du schnell fallen Zieh dich nicht zurueck sondern sei ein Man, schluck die Kritik runter, bessere dich und poste weiter
Ich bin über die Wortwahl gestolpert , wenn einen die Fragen manchmal nicht passen. Mit 71 Jahren und Pensionär macht man sich Gedanken darüber. Und meine Englischkenntnisse sind nicht so gut um die technischen Schriftstücke brauchbar umzusetzen. Gruss
Frank K. schrieb: > Der Unmut, der hier hochkommt und den ich auch selber empfinde, liegt in > einer falschen Erwartungshaltung an dieses Medium. Guter Beitrag - treffend umschrieben! Selbst in einem reinen (Turbo) C Forum würde sich der TO sicher keine Freunde aus den von Dir genannten Gründen machen. Für Grundlagenwissen gibt es Tutorials. Soll es sogar dem Hörensagen nach auf deutsch geben. Nur eine Suchmaschine müsste man schon mal benutzen können. Wenn das alles nix hilft: anderes Hobby suchen.
> Ich bin über die Wortwahl gestolpert , wenn einen die Fragen > manchmal > nicht passen. Mit 71 Jahren und Pensionär macht man sich Gedanken > darüber. > > Und meine Englischkenntnisse sind nicht so gut um die technischen > Schriftstücke brauchbar umzusetzen. hattest du in einem anderen Post ja so schon geschrieben... mehr oder minder - aber danke für die Bestätigung dafür das du... -trotzdem noch Bock hast dich auf solche Details ein zu lassen -nicht wie die meisten hier mit dem Internet groß geworden bist -nicht unbedingt wie die meisten hier ordentliches Schulenglisch hattest gebührt dir ein wenig Lob für deine Posts hier weiter so!
Arne S. schrieb: > Wenn das alles nix hilft: anderes Hobby suchen. Ein wenig zu streng - oder, lass ihn doch auch triviales Fragen, was schadet es? Bringt ihn schneller auf das Niveau das er weniger Fragen muss...
cppbert schrieb: > Ein wenig zu streng - oder, NEIN, da: > Für Grundlagenwissen gibt es Tutorials. Soll es sogar dem Hörensagen > nach auf deutsch geben. und - wie Frank es sehr treffend formulierte: Frank K. schrieb: > Foren sind ausdrücklich NICHT dafür geeignet, Grundlagenwissen zu > vermitteln. Das überfordert dieses Medium und die Hilfswilligen und > führt zu Unmut. Für die Vermittlung von Grundlagenwissen gibt es > geeignetere Wege, beispielsweise die gebundenen Stapel von Totholz, auch > Bücher genannt. case ohne break: Entweder man WILL es absichtlich so oder man hat es mal (!) vergessen. Aber bei sowas in einem Forum fragen, weil man einfach keine Lust hat sich im Selbststudium weiterzubilden? Damit ist er exakt auf den ich-hab-keinen-Bock-auf-meine-Hausaufgaben Threads. Die haben exakt genauso wenig Lust auf Eigeninitiative.
Arne S. schrieb: > case ohne break: Entweder man WILL es absichtlich so oder man hat es mal > (!) vergessen. > Aber bei sowas in einem Forum fragen, weil man einfach keine Lust hat > sich im Selbststudium weiterzubilden? oder er hat noch nie programmiert und keine Erfahrung oder nur in Pascal wo das Case kein Fallthrough ist... Wie gesagt wir Informatik-Backgroundhaber denken immer all zu leicht wie einfach es doch ist die Fragen richtig zu formulieren oder sich etwas selbst bei zu bringen - deswegen geben wir hier auch so viele Antworten - weil wir eben in allem relativ gut sind, andere sind das nicht
cppbert schrieb: > Wie gesagt wir Informatik-Backgroundhaber denken immer all zu leicht wie > einfach es doch ist die Fragen richtig zu formulieren oder sich etwas > selbst bei zu bringen - deswegen geben wir hier auch so viele Antworten > - weil wir eben in allem relativ gut sind, andere sind das nicht Ja und? Ich habe es auch gelernt. Und rate mal: damals ganz ohne WWW, da es das noch nicht gab. Klassisch mit totem-Holz aka Buch. Gerade HEUTE hat er duch WWW kostenlose Möglichkeiten sich Tutorials zu beschaffen. Er muss nicht mal das Haus verlassen. Wie einfach muss es denn noch werden? Gerade in seinem Alter sollte doch klar sein, dass Eigeninitiative gern gesehen wird. Mein Vater wird dieses Jahr 80 und hatte kein Englisch in der Schule. Trotzdem hat er es sich durch EIGENINITIATIVE beigebracht. BTW: warum muss es ausgerechnet C sein? TurboPascal ist m.E. zum Programmiereinstieg geeigneter. Auf alle Fälle unter DOS. Viele Bücher aus der DOS Zeit geben Beispiele in TP an. Das VGA Buch in Deinem Thread z.B.
Peter B. schrieb: > Und meine Englischkenntnisse sind nicht so gut um die technischen > Schriftstücke brauchbar umzusetzen. Das ist keine Entschuldigung. Ich habe einen guten Freund, der mit 91 Jahren immer noch regelmäßig zu seinen Japanisch-Stunden geht und Kanjis lernt, um sich geistig fit zu halten. fchk
Ja es gibt immer jemanden der noch älter ist, 4 Arme wniger hat oder blind ist der 3 Hobbys mehr als der andere hat und sich intensiver damit beschäftig - welche relevanz hat das?, sind wir alle gleich? Wer sagt denn das Peter nicht nur mal zwei Woche intensiv spielen will und dann was ganz anderes macht Btw: haette sich Peter als ein Mädchen verkauft wuerden sich hier die meisten ohne meckern die Finger wund tippen um triviales zu erklären
cppbert schrieb: > Btw: haette sich Peter als ein Mädchen verkauft wuerden sich hier die > meisten ohne meckern die Finger wund tippen um triviales zu erklären Hier nicht. Zumindest nicht nach der dritten naiven Frage. Ein Forum ist hauptsächlich dafür da, um konkrete Antworten auf konkrete Fragen zu bekommen. Das ist hier aber nicht das Problem. Was Peter möchte, ist aber lernen. Und zwar nicht nur einen Fakt, sondern ein ganzes Fachgebiet. Da braucht man in der Regel keine Antworten, sondern einen Lehrer bzw. Tutor. Jemanden, mit dem man auch mal diskutieren und Grundlagenverständnis aufbauen kann. Ich habe das zu meiner Zeit im IRC gefunden. In Chaträumen, wo man sich irgendwann kennt (teilweise auch persönlich trifft) und den anderen auch einschätzen kann. IRC gibt's nicht mehr, Usenet ist auch tot. Die Thematik auch - es bleibt die Dokumentation. Die gab es damals auch auf Deutsch in Büchern. @Peter: Meine Empfehlung: Mache einfach einen Thread auf, den du unspezifisch "Peters 8086-Experimente mit Turbo C++ unter DOS" nennst und führst darin schlicht eine Diskussion mit denen, die helfen können und wollen. Das Forum zuspammen nervt nur. Ich würde gerne helfen, aber die Thematik ist mir zu speziell, mit Turbo C++ kenne ich mich schlicht nicht aus. Und hinter mir steht zwar ein 80186, aber für den habe ich nicht genug Zeit (außerdem ist das kein PC-kompatibler und kann kein VGA). Meine Rente, sofern ich jemals welche bekomme, ist noch ein paar Jahrzehnte weg.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.