[VC++] Don't know how to make boot.o ??

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ik heb sinds kort Visual C++ geinstalled op windows (98), en ik heb even een simpel test progje gemaakt. Nu wil ik het compileren via Build -> Rebuild All. Ik krijg de volgende error:

NMAKE : fatal error U1073: don't know how to make 'boot.o'
Stop.
Error executing nmake.

CPPTest.bin - 1 error(s), 0 warning(s)

Dit is de eerste keer dat ik met Visual C++ werk, en op linux ben ik zoiets nog nooit tegengekomen. Dus ik vraag me af waar ik de fout moet zoeken... iemand een idee?

PS: misschien dat het er iets mee te maken heeft maar ik heb een devkit gedownload en geinstalled om GBA progjes te maken...

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Dit staat er in ieder geval over in de MSDN..
Maar ik heb geen idee wat het precies inhoudt.
NMAKE Fatal Error U1073
don't know how to make 'targetname'

The specified target does not exist, and there is no command to execute or inference rule to apply.

One of the following may be a solution:

Check the spelling of the target name.


If targetname is a pseudotarget, specify it as a target in another description block.


If targetname is a macro invocation, be sure it does not expand to a null string.

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Uhm... ik heb ook geen idee, maar iig bedankt! :)

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
VC6 geeft soms HEEL vage errors die soms op g++ volledig correct compileren. Ook kan het zijn dat je op een ongelukkige plaats een ; vergeten bent, dan gaat de foutmelding over alles behalve dat.
Welcome to Windows programming :r

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

post anders je code eens ff?

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
heb je enig idee waar dat .o bestand vandaan komt? (gcc object file toch?) Als ie in de FileView lijst van het project staat moet je em er gewoon uit verwijderen lijkt me.

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
De code moet goed zijn... ben ff bezig met een n00b guidje om al die zooi te installen, dus ik mag hoop ik wel aannemen dat een simpel stukje code wel goed mag zijn... Ik ben weer overnieuw begonnen, en nu krijg ik die ene error niet meer... nu is het dat ie een file niet kan vinden :( Ga dus nog maar ff checken of alles goed is ingesteld en zo.

edit: vaagheid... hij staat toch echt in dezelfde directory :(

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
BTW: Zijn er hier nog meer mensen die bezig zijn met het proggen van GBA roms?

edit: en waarin proggen jullie die? En welke compiler?

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


Verwijderd

Ehh gb roms in vc? ehh vc kakt i386 code uit, en die gaat je gb nevernooit slikken hoor..

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Heb een of andere GBA dev kit geinstalled. Staan allemaal header files in en zo...

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

heb je linkje naar waar je die gba kit gedownload hebt?

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
http://www.gbadev.org
Daar staat bij de Tutorials een newbee guide met de linkjes erin. Die van VerticalE

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Hmm... ik heb die tutorial waar ik het in m'n vorige post over had 5 keer opnieuw gedaan of zo, maar het compilen wil niet lukken. Heb wat verder gezocht en deze guide gevonden. Dit keer is het wel gelukt :)

http://www.ngine.de/gbadoc/newbieguide.txt

Ik ben trouwens nog steeds wel geinteresseerd wie hier allemaal games progt! :)

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Ik niet, maar het ziet er erg :9~ uit om je eigen GBA games te kunnen schrijven :)

Weet jij wat de mogelijkheden zijn om die dingen op cartridges (wat zijn het? flash kaarten?) te krijgen zodat je ze ook echt op je GBA zelf ook kan spelen?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

yup ik code gba roms, maar dat doe ik met de ARM SDK (die veel geld kost, en die ik dan ook niet betaald heb, maar dat terzijde :))

zelf had ik wat probleempjes met gcc... Maar ik neem aan dat jij met gcc compilet? Want de compiler van VC++ zelf gaat natuurlijk niet werken :)

post je makefile hier eens alsjewilt

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Uit bovenstaande link
GBAMAKE (by Warp): Visual C++ users, make your lives even simpler by using this program in combination with the ARM GCC compiler we installed earlier to allow you to compile code straight from VC++.
http://www.agbdev.net/gbadev/files/gbamake.zip
OiSyN: wat is er zo bijzonder aan die ARM SDK dan? Als hij echt zo bijzonder is mocht ik weleens de neiging krijgen om hem aan te schaffen >:) :+

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

uhm... ten eerste compilet ie iets van 10x zo snel (vooral handig als je veel data declareert in source files, van die char arrays voor sprites enzo... de arm compiler is daar een seconde mee bezig terwijl gcc er soms wel 20 over doet), en de gegenereerde code schijnt ook een stuk sneller te zijn...

Hij ondersteund alleen geen exceptions en met templates heeft ie het ook vaak moelijk (van een template functie in een template class gaat ie bijvoorbeeld over z'n nek), maar dat zijn toch niet echt dingen die je in een gba spel/demo gaat gebruiken :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op dinsdag 25 december 2001 23:19 schreef stylee het volgende:
Weet jij wat de mogelijkheden zijn om die dingen op cartridges (wat zijn het? flash kaarten?) te krijgen zodat je ze ook echt op je GBA zelf ook kan spelen?
Je kunt op verschillende plaatsen van die flashlinkers kopen... Dat is gewoon een apparaatje dat je op je printerpoort aansluit, en dan koop je er een ROM cartridge bij zodat je kan flashen. Ze zijn bedoeld voor het kopieren van spellen, maar spelen van je eigen binaries is ook erg lache :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Aaaarrrggghhhh... ik wordt hier ff een beetje niet goed van. Eindelijk dacht ik een compiler gevonden te hebben die het doet... doet ie het 1 keer en daarna om 1 of andere reden het niet meer :(:(:(

Oisyn: zou je me aub ff kunnen contacten op MSN? :)


edit: Dit is trouwens de error die ik krijg (met die files is niks mis trouwens, want hij heeft het een keer gedaan :\) :(

gbamake -pc:\armgcc CCPTest.dsp
ERROR : failed to launch zarmcpp.exe
ERROR : failed to launch zarmasm.exe
ERROR, cannot compile .\CPPTest.mak : unknown file format
ERROR, cannot compile .\Linkscript : unknown file format
***[.\main.o]***
***[.\boot.o]***

CCPTest.bin - 2 error(s), 0 warning(s)

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

nope, ik heb geen msn, en ik ga het nooit gebruiken ook :P

Maar dat probleem ziet eruit als een verkeerde path instelling... gebruik je VC++? Dan moet je even naar Tools -> Options -> Directories gaan, en daar de arm dir toevoegen aan de executable file directories

(Vergeet overigens ook niet de ARMLIB en ARMINC environment variabelen te zetten naar respectievelijk je lib en include dir... als je dat gedaan hebt moet je wel VC opnieuw starten (voor WinNT/2K/XP), of je pc opnieuw starten (9x/ME))

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ik ben maar weer helemaal opnieuw begonnen, en dit keer via deze guide: http://havoc-tsa.hypermart.net/cgi-bin/ikonboard/topic.cgi?forum=6&topic=188. Dit werkt allemaal prima, maar natuurlijk niet als je meerdere files hebt. Daarom mijn vraag: hoe ziet een makefile er uit in windows? En met de gcc compiler :? En hoe roep je die aan in windows?

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Ik ben ondertussen ook bezig geweest met klooen en heb de Unofficial GameBoy Advance Software Development Kit (wat een naam :)) gedownload. Hiermee kan ik gewoon doodsimpel alles compilen. Enige wat ik ervoor hoefde te doen was mijn path aan te passen.

Mischien is het ook wel interessant om deze tutorial door te nemen.

OiSyN: heb jij mischien ergens een linkje oid naar een super-simpele hello-world iets? Meeste sources die ik zie beginnen gelijk bij scrollers, etc. Ben wel bekend met C/C++ maar de traditie vereist dat je begint met hello world op een nieuw platform :+

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ik heb ook nog wat zitten klooien, en ik heb nu het volgende bereikt: als ik in dos prompt het volgende doe:

c:\gbadev\testbestand>as -I c:\devkitadv\arm-agb-elf\include -I c:\devkitadv\lib\gcc-lib\arm-agb-elf\3.0.2\include -mthumb-interwork c:\gbadev\testbestand\boot.s -oboot.o

Doet ie het prima. Dit staat ook in de makefile, maar als ik het wil compileren in Visual C++ kan ie gcc niet eens vinden :( Terwijl ik toch echt in Tools>Options: Directories... Executable files dit heb toegevoegd: C:\devkitadv :(:?

uhmm... help! :)

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
:D Eindelijk!! Ik ben er achter wat er fout was :)

Dat in opties etc moest "c:\devkitadv\bin" zijn ipv "c:\devkitadv" |:(

Pfoe.. kan ik eindelijk beginnen :)

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ik heb trouwens een Hello World scriptje gevonden: http://www.gbadev.org/files/GBA_Splash01.zip... er staan alleen jammergenoeg niet echt een uitleg bij wat alles nu precies doet :(

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

ik vraag me af hoe je een simpele hello world gaat doen als je niet eens normale text-output hebt :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ja, ik heb nog een vraagje over tekst output... dat werkt geloof ik niet helemaal met een simpele cout :):(;(
Zodra ik iostream.h include krijg ik namelijk allemaal "undefined" errors :(

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

even afgezien van dat, waarom wil je in hemelsnaam iostream.h includen :? :? :?

Een simpele
code:
1
cout << "Hello world" << endl;

gaat dus echt niet werken, aangezien je niet een console/text interface hebt op de gameboy om tekst naar te schrijven... En een filesystem heb je er ook niet, dus gebruik maken van filestreams zit er ook niet in :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Hmm... to bad :)
Heb jij trouwens wat goede, simpele tutorials? Waar ze ook met de wat makkelijkere dingen beginnen en uitleggen wat ze nou eigenlijk doen, en niet alleen hoe? Ik ben nu al superlang aan het zoeken, maar nog niet echt succesvol :(

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

ken je The PERN Project? Daar staan een hoop GBA basics... Tutorials over video modes, sprites, dma, interrupts, enz. Een hele goeie site, afgezien van het feit dat er best veel typefouten in staan (en dan bedoel ik dus niet gewoon in de tekst, maar ook in de tabelletjes en code die ie gebruikt voor illustratie. Erg verwarrend dus.)

Verder ken ik niet echt tutorials voor de gba...

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

OiSyN: Een hele goeie site, afgezien van het feit dat er best veel typefouten in staan (en dan bedoel ik dus niet gewoon in de tekst...

En daarnaast ook nog eens alles 404 :'(

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

hmmmja ik zie het (wazig, vorige week deed ie het nog)... blijkt dat die aars niet zo consequent is in zijn hoofdlettergebruik :)

deze doet het wel: http://www.thepernproject.com/English/tutorial.html

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Hij legt het wel duidelijk uit allemaal, zodat ik het ook kan begrijpen... alleen ik ben nu bezig met het maken van zo'n plotPixel functietje, volgens zijn tutorial... zitten er allemaal errors in :( En ik heb het precies hetzelfde als hem... tenminste, ik heb al een paar errors eruit gehaald :) Ik krijg deze errors, kan er misschien iemand helpen?

c:/gbadev/tutos/day2/tutor2.cpp:9: parse error before `*' token
c:/gbadev/tutos/day2/tutor2.cpp:11: parse error before `short'
c:/gbadev/tutos/day2/tutor2.cpp: In function `void plotPixel(...)':
c:/gbadev/tutos/day2/tutor2.cpp:12: `y' undeclared (first use this function)
c:/gbadev/tutos/day2/tutor2.cpp:12: (Each undeclared identifier is reported
only once for each function it appears in.)
c:/gbadev/tutos/day2/tutor2.cpp:12: `x' undeclared (first use this function)
c:/gbadev/tutos/day2/tutor2.cpp:12: `c' undeclared (first use this function)
c:/gbadev/tutos/day2/tutor2.cpp: In function `int main()':
c:/gbadev/tutos/day2/tutor2.cpp:17: invalid suffix on integer constant
NMAKE : fatal error U1077: 'C:\devkitadv\bin\gcc.exe' : return code '0x1'
Stop.
Error executing nmake.

day2.bin - 3 error(s), 0 warning(s)


En dit is m'n source... ik zie eigenlijk niet wat er fout aan is, het is iig hetzelfde als wat op die tuto site staat :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// tutor2.cpp - door Yoshi.

#include "gba.h"
#include "screenmode.h"


#define RGB(r,g,b) ((r) + ((g)<<5) + ((b)<<10))
#define unsigned short int u16 
u16 VideoBuffer = (u16*)0x6000000;

void plotPixel(int x, int y, unsigned short int c){
    VideoBuffer[(y)*240+(x)] = (c);
}//plotPixel

int main (){
    int x,y;
    SetMode(MODE_3 | BG2_ENABLE);
    for (x=0;x<240;x++){
        for (y=0;y<160;y++){
            plotPixel(x,y,RGB(31,0,0));
        }//for
    }//for
    while(1){}
    return 0;
}//main

Oja, en nog 1 vraagje: waarin gebruiken ze meestal een C_Entry() of iets dergelijks ipv een main?? Bij mij gaat ie lopen zeuren als je geen main hebt :?

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op donderdag 27 december 2001 00:44 schreef www.Goku.nl het volgende:
#define unsigned short int u16
gebruik voor dat soort dingen altijd typedef, daar issie voor gemaakt :)

dus
code:
1
typedef unsigned short u16;
u16 VideoBuffer = (u16*)0x6000000;
Je wilt je videobuffer een pointer naar u16 laten zijn, maar je declareert m als gewoon u16. Doe dus
code:
1
u16 * VideoBuffer = (u16*)0x6000000;

Maar waarom zou je dat sowieso doen? Ik geloof dat dat al in gba.h gedefinieerd staat (tenminste, als je die van the PERN project gebruikt)
Oja, en nog 1 vraagje: waarin gebruiken ze meestal een C_Entry() of iets dergelijks ipv een main?? Bij mij gaat ie lopen zeuren als je geen main hebt :?
Volgens mij compile je m dan niet helemaal goed... Als je m op de goede manier compilet en je linkt m met boot.o, dan is de entry procedure C_Entry ()

Maar post je makefile nou eens, dan kunnen we zien hoe het in elkaar zit

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Ja in zn tutorial zitten aardig wat foutjes zoals OiSyN eerder ookal opmerkte, ik heb ondertussen een beetje aangepaste versie gecompileerd gekregen, alleen in mijn emu doet ie niks (maar hij compiled wel :+)

gba.h
main.c
Makefile

Nou gebruik ik ipv. de entry procedure C_Entry() ArmMain(), omdat ik link met crt0.o (1 kb), maar dat zou niet zoveel moeten uitmaken.

Ik gebruik zoals eerder gezegd de devkitadv (gcc) en heb gewoon de path naar d:/devkitadv/bin toegevoegd. Start vervolgens je command-prompt en ga naar de dir waar je deze bestanden hebt gegooid en typ make. Hij zou gewoon moeten compilen als het goed is.

hth

edit: nou nog alleen uitvogelen waarom er nix op het scherm komt :)

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ik was die tutorial aan het volgen van de Pern Project, en daar legde hij uit wat je moest doen en zo, dus ik heb dat maar gevolgd :) Hier is mijn makefile (ik heb trouwens ook die devkit geinstalled, en in VC++ ingesteld. Andere dingen compiled ie wel correct, alleen niet als ik geen main in mijn .cpp file heb...

Makefile:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Define some directories;
# -------------------------------------------
SRCDIR  = c:\gbadev\tutos\day2
CMPDIR  = c:\devkitadv\bin
LIBDIR  = c:\devkitadv\lib\gcc-lib\arm-agb-elf\3.0.2\interwork
LIBDIR2 = c:\devkitadv\arm-agb-elf\lib\interwork
INCDIR  = c:\devkitadv\lib\gcc-lib\arm-agb-elf\3.0.2\include
INCDIR2 = c:\devkitadv\arm-agb-elf\include

# -------------------------------------------
# Define what extensions we use;
# -------------------------------------------
.SUFFIXES : .cpp .s

# -------------------------------------------
# Define the flags for the compilers;
# -------------------------------------------
CFLAGS  = -I $(INCDIR2) -I $(INCDIR) -I $(SRCDIR) -mthumb-interwork -c -g -O2 -Wall -fverbose-asm
SFLAGS  = -I $(INCDIR2) -I $(INCDIR) -mthumb-interwork 
LDFLAGS = -L $(LIBDIR) -L $(LIBDIR2) -T LinkScript 

# -------------------------------------------
# Define the list of all O files;
# -------------------------------------------
O_FILES          = boot.o       \
                   crtbegin.o   \
                   crtend.o     \
                   tutor2.o                     

# -------------------------------------------
# Define the final dependecy;
# -------------------------------------------
all : day2.bin

# -------------------------------------------
# Define the copy from .elf to .bin file
# -------------------------------------------
day2.bin : CPPTest.elf
    objcopy -v -O binary CPPTest.elf CPPTest.bin
    -@echo ------------------------------------------ 
    -@echo Done 
    -@echo ------------------------------------------ 
    
# -------------------------------------------
# Define the linker instruction;
# -------------------------------------------
CPPTest.elf : $(O_FILES)
    ld $(LDFLAGS) -o CPPTest.elf $(O_FILES) -lstdc++ -lgcc -lc  
    -@echo ------------------------------------------ 
    -@echo Linking Done
    -@echo ------------------------------------------ 

# -------------------------------------------
# Define each compile;
# -------------------------------------------
{$(SRCDIR)}.cpp.o::
    gcc  $(CFLAGS) $< 
    -@echo ------------------------------------------ 
    -@echo CPP-Sources Compiled 
    -@echo ------------------------------------------ 

# -------------------------------------------
# Define each assemble;
# -------------------------------------------
{$(SRCDIR)}.s.o:
    as $(SFLAGS) $(SRCDIR)\$*.s -o$@
    -@echo ------------------------------------------ 
    -@echo ASM-Sources Compiled 
    -@echo ------------------------------------------ 
    

# -------------------------------------------
# EOF;

Uit een andere tuto gehaald, en beetje aangepast :)

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

www.Goku.nl: alleen niet als ik geen main in mijn .cpp file heb

Je main is de entry-prcocedure voor je linker. Het punt waarop het OS je code begint uit te voeren. Deze hoeft helemaal niet eens persé main te heten. In windows heet deze bijvoorbeeld WinMain. Als je linkt met boot.o moet deze dus C_Entry() heten.

Schrijf je programma dus als volgt:
code:
1
2
3
void C_Entry (void) {
 ...
}

en hij zou moeten compilen.

Vertel me ff of je emulator hem draait.

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ik heb even jouw gba.h gekopieerd, en hij draait prima in m'n emulator. Alleen dan wel met een main :?

Ik heb wat zitten kijken in boot.s, en ik zag daar iets staan met main en agbMain... dus ik ga ff kijken of het werkt met agbMain ;)

edit: btw, heb je MSN/ICQ?

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Hmm... dit verklaart misschien waarom ik main moet gebruiken: :)

Dit staat in mijn boot.s:

@ Uncomment the following line to support C++ development.
@ You also need to name your main C function the following:
@ int main (void) ...instead of... int AgbMain (void)
@ Doing so will cause ~5500 bytes of c++ support code to be
@ linked in with your project so do not enable c++ support
@ unless you plan to use it.

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

www.Goku.nl: btw, heb je MSN/ICQ?

ICQ gebruik ik niet meer (tja alle dames hebben msn :+), msn: brolly_aap@hotmail.com (dbz fan >:))

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

stylee: waar heb je die crt0.o vandaan? Ik zocht m laatst (ivm met interrupt routines), maar ik kon m nergens vinden... (maar ik zal wel weer iets over het hoofd hebben gezien :))

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op donderdag 27 december 2001 16:24 schreef OiSyN het volgende:
waar heb je die crt0.o vandaan? Ik zocht m laatst (ivm met interrupt routines), maar ik kon m nergens vinden... (maar ik zal wel weer iets over het hoofd hebben gezien :))
bij cygwin staat ie onder /lib.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

oh nee wacht laat maar foutje van mij... dit is ook een gcc versie, en ik zoek dus de ARM SDK versie :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op donderdag 27 december 2001 16:34 schreef OiSyN het volgende:
oh nee wacht laat maar foutje van mij... dit is ook een gcc versie, en ik zoek dus de ARM SDK versie :)
is eigenlijk ook wel logisch ja :)
Pagina: 1