Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Gbaemu4ds: Difference between revisions

From GameBrew
(Created page with "{{Infobox DS Homebrews |title=gbaemu4ds |image=gbaemu4ds.png |description=GBA emulator for DS(i). |author=ichichfly |lastupdated=2012/12/23 |type=Handheld |version=alpha 2 fix 4 |license=Mixed |download=https://dlhb.gamebrew.org/dshomebrew/ |website=https://ichfly.github.io/gbaemu4DS/ |source=https://github.com/ichfly/gbaemu4DS }} gbaemu4ds is a Game Boy Advance emulator for DS. It was entered into the GBAtemp Homebrew Bounty 2011(DSi Entry). == Installation == Downloa...")
 
m (Text replacement - "|download=https://dlhb.gamebrew.org/dshomebrew/" to "|download=https://dlhb.gamebrew.org/dshomebrew2/")
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
|image=gbaemu4ds.png
|image=gbaemu4ds.png
|description=GBA emulator for DS(i).
|description=GBA emulator for DS(i).
|author=ichichfly
|author=ichfly
|lastupdated=2012/12/23
|lastupdated=2012/12/23
|type=Handheld
|type=Handheld
|version=alpha 2 fix 4
|version=alpha 2 fix 4
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/dshomebrew/
|download=https://dlhb.gamebrew.org/dshomebrew2/gbaemu4ds.7z
|website=https://ichfly.github.io/gbaemu4DS/
|website=https://ichfly.github.io/gbaemu4DS/
|source=https://github.com/ichfly/gbaemu4DS
|source=https://github.com/ichfly/gbaemu4DS
Line 14: Line 14:
gbaemu4ds is a Game Boy Advance emulator for DS.
gbaemu4ds is a Game Boy Advance emulator for DS.


It was entered into the GBAtemp Homebrew Bounty 2011(DSi Entry).
The homebrew was entered into the GBAtemp Homebrew Bounty 2011 (DSi).


== Installation ==
== Installation ==
Line 116: Line 116:
== Changelog ==
== Changelog ==
'''alpha 2 fix 4'''
'''alpha 2 fix 4'''
* UI impr.
* UI impr.
* Minor irq impr.
* Minor irq impr.
Line 124: Line 123:


'''fix 1'''
'''fix 1'''
* Fixed bug that prevents the emulator from loading saves in some cases.
* Fixed bug that prevents the emulator from loading saves in some cases.
* Fixed accociations.ini is now in the __rpg folder as it should be.
* Fixed accociations.ini is now in the __rpg folder as it should be.


'''alpha 1'''
'''alpha 1'''
* Added new UI (also gives the emulator more free ram).
* Added new UI (also gives the emulator more free ram).
* Added press Y to save the save.
* Added press Y to save the save.
Line 136: Line 133:


'''r41'''
'''r41'''
* Added auto detectadded lcdSwap if second arg is set to '1'.
* Added auto detectadded lcdSwap if second arg is set to '1'.
* Added capture_and_pars mode.
* Added capture_and_pars mode.
Line 142: Line 138:


'''r40'''
'''r40'''
* Fixed old_irqadded patching system.
* Fixed old_irqadded patching system.


'''r39'''
'''r39'''
* Added buggy reset.
* Added buggy reset.
* Some small fixes/impr.
* Some small fixes/impr.
Line 152: Line 146:


'''r38'''
'''r38'''
* Fixed most crushes if X is not pressed.
* Fixed most crushes if X is not pressed.
* Added H-Blank stuff.
* Added H-Blank stuff.


'''r37'''
'''r37'''
* (Pokemon works now if X is pressed at some points).
* (Pokemon works now if X is pressed at some points).
* Some IRQcode impr.
* Some IRQcode impr.
Line 164: Line 156:


'''r36'''
'''r36'''
* (Fixed Mario Advanced 2(U)/(J) fixed Anguna and many other homebrews they also save now).
* (Fixed Mario Advanced 2(U)/(J) fixed Anguna and many other homebrews they also save now).
* Added itcm protector.
* Added itcm protector.
Line 172: Line 163:


'''r35'''
'''r35'''
* (Fix(Camp Lazlo) and break some games(unknown) if you game frees try to press X at the point where the game frees and it may work (Camp Lazlo)).
* (Fix(Camp Lazlo) and break some games(unknown) if you game frees try to press X at the point where the game frees and it may work (Camp Lazlo)).
* Added fat code.
* Added fat code.
Line 179: Line 169:


'''r34'''
'''r34'''
* "This update provides behind-the-scenes fixes that will improve the overall system performance".
* "This update provides behind-the-scenes fixes that will improve the overall system performance".


'''r33'''
'''r33'''
* Some shortcuts added.
* Some shortcuts added.
* Added slow Versions (that Version fix some games,break some games and some games are slowed down).
* Added slow Versions (that Version fix some games,break some games and some games are slowed down).


'''r32'''
'''r32'''
* "This update provides behind-the-scenes fixes that will improve the overall system performance".
* "This update provides behind-the-scenes fixes that will improve the overall system performance".
* Better fifoinit.
* Better fifoinit.


'''r31'''
'''r31'''
* "This update provides behind-the-scenes fixes that will improve the overall system performance" <-- lock at git if you don't blieve that (fixed DragonBallTR (PB)).
* "This update provides behind-the-scenes fixes that will improve the overall system performance" <-- lock at git if you don't blieve that (fixed DragonBallTR (PB)).


'''r30'''
'''r30'''
* Now 2 irq systems --> switch in https://github.com/i...chflysettings.h (gba_handel_IRQ_correct) one for new homebrew and com. roms and one for old homebrew.
* Now 2 irq systems --> switch in https://github.com/i...chflysettings.h (gba_handel_IRQ_correct) one for new homebrew and com. roms and one for old homebrew.
* New setting emulate_cpu_speed (https://github.com/i...chflysettings.h).
* New setting emulate_cpu_speed (https://github.com/i...chflysettings.h).
Line 203: Line 188:


'''r29'''
'''r29'''
* New irq system <-- still beta break some games fix some (Another world is working now).
* New irq system <-- still beta break some games fix some (Another world is working now).


'''r28'''
'''r28'''
* Use new PU configuration that give the gba much more power but make some games run to fast or crash but fix more crashes.
* Use new PU configuration that give the gba much more power but make some games run to fast or crash but fix more crashes.
* Code cleanup now the src should be easy to compile.
* Code cleanup now the src should be easy to compile.


'''r27'''
'''r27'''
* Recompiled with new gcc.
* Recompiled with new gcc.
* Some fixes.
* Some fixes.


'''r26'''
'''r26'''
* Add: swi 2,3,4.
* Add: swi 2,3,4.
* Fix siw 5.
* Fix siw 5.
Line 226: Line 207:


'''r25'''
'''r25'''
* Add: select SaveType.
* Add: select SaveType.
* Fix:re import sp.
* Fix:re import sp.
Line 233: Line 213:


'''r24'''
'''r24'''
* Add: if L+R+B is pressed before the Emulator crash the emulator will generate an debug dump called "gbadump.bin" on the sd.
* Add: if L+R+B is pressed before the Emulator crash the emulator will generate an debug dump called "gbadump.bin" on the sd.
* Fix:sp for Multi Interrupts.
* Fix:sp for Multi Interrupts.
Line 239: Line 218:


'''r23'''
'''r23'''
* Change: now only write non debug stuff to the touch screen.
* Change: now only write non debug stuff to the touch screen.
* Add: swi 5 (VBlankIntrWait) now do frameasyncsync (If the gba rom support that you now get true 60fps).
* Add: swi 5 (VBlankIntrWait) now do frameasyncsync (If the gba rom support that you now get true 60fps).


'''r22'''
'''r22'''
* Fix: irq (for Another World(still not working),MaxMod Audio(still not working),gng(now working) but some homebrews that worked in r21 or before are no more working).
* Fix: irq (for Another World(still not working),MaxMod Audio(still not working),gng(now working) but some homebrews that worked in r21 or before are no more working).
* Change: Disabled sound dma get requests (sound dma get requests break many games).
* Change: Disabled sound dma get requests (sound dma get requests break many games).


'''r21'''
'''r21'''
* Added: dehook some patches that break some functions.
* Added: dehook some patches that break some functions.
* Added: not realy working sound emulation.
* Added: not realy working sound emulation.
Line 255: Line 231:


'''r20'''
'''r20'''
* Inc. executable size to more than 3 Mbyte.
* Inc. executable size to more than 3 Mbyte.
* Cleaned it up a bit.
* Cleaned it up a bit.
Line 261: Line 236:


'''r19'''
'''r19'''
* Added: now reads (dma and normal) from rom above the ram buffer work (now reads from any part of the rom work however execution is limited to lower ~ 2,9 MByte).
* Added: now reads (dma and normal) from rom above the ram buffer work (now reads from any part of the rom work however execution is limited to lower ~ 2,9 MByte).


'''r18'''
'''r18'''
* Change: impr. ex_s.s.
* Change: impr. ex_s.s.
* Change: fixed 16 Bit read.
* Change: fixed 16 Bit read.
Line 271: Line 244:


'''r17'''
'''r17'''
* Change: now calculate the best size for the buffer for the gba file (currently a bit more than 2,9 Mbyte currently every read above that 2,9 Mbyte return garbage).
* Change: now calculate the best size for the buffer for the gba file (currently a bit more than 2,9 Mbyte currently every read above that 2,9 Mbyte return garbage).
* Fix: irq system (faster irq handling, gba irqs seems to work now).
* Fix: irq system (faster irq handling, gba irqs seems to work now).
Line 278: Line 250:


'''r16'''
'''r16'''
* Power Off unneeded things.
* Power Off unneeded things.
* Fixed some bugs.
* Fixed some bugs.
Line 285: Line 256:


'''r15'''
'''r15'''
* dma speedup.
* dma speedup.
* Fix in the browseForFile function.
* Fix in the browseForFile function.
Line 293: Line 263:


'''r14'''
'''r14'''
* Working with unpatched gba roms.
* Working with unpatched gba roms.
* Some fixes by me and some by totschlag_Engelchen.
* Some fixes by me and some by totschlag_Engelchen.
Line 299: Line 268:


'''r13'''
'''r13'''
* Prefetch fail fixed by workaround and on the fly patch.
* Prefetch fail fixed by workaround and on the fly patch.


Line 305: Line 273:


Notes:
Notes:
* (only very very few homebrew work I think ~5-10 %)
* (only very very few homebrew work I think ~5-10 %)
* (most gba files must be patched)
* (most gba files must be patched)
Line 311: Line 278:


Changes:
Changes:
* Untested but hope it work now irq added.
* Untested but hope it work now irq added.
* Features Behind-the-Scenes improvements to system performance (short cuts added).
* Features Behind-the-Scenes improvements to system performance (short cuts added).
Line 319: Line 285:


Notes:
Notes:
* (only very very few homebrew work I think ~5-10 %)
* (only very very few homebrew work I think ~5-10 %)
* (most gba files must be patched)
* (most gba files must be patched)
Line 325: Line 290:


Changes:
Changes:
* Features Behind-the-Scenes improvements to system performance (short cuts added).
* Features Behind-the-Scenes improvements to system performance (short cuts added).
* better 0x4000004 - 0x4000008 emulation.
* better 0x4000004 - 0x4000008 emulation.
Line 335: Line 299:


Notes:
Notes:
* (only very very few homebrew work I think ~5-10 %)
* (only very very few homebrew work I think ~5-10 %)
* (most gba files must be patched)
* (most gba files must be patched)
Line 341: Line 304:


Changes:
Changes:
* Features Behind-the-Scenes improvements to system performance and stability (Flush/Invalidate DC and IC).
* Features Behind-the-Scenes improvements to system performance and stability (Flush/Invalidate DC and IC).
* Updated rom loader some older flashcards work now (AK(i) seems to have issue with the new version but not because of this (I can't test this but someone has reported that)).
* Updated rom loader some older flashcards work now (AK(i) seems to have issue with the new version but not because of this (I can't test this but someone has reported that)).
Line 347: Line 309:


Patcher:
Patcher:
* Added auto detect for some patches.
* Added auto detect for some patches.
* Added Anti User patch some games need that to start.
* Added Anti User patch some games need that to start.
Line 353: Line 314:


'''fix4'''
'''fix4'''
* UI working now but not every time sometime crush alloc.
* UI working now but not every time sometime crush alloc.
* Add show fps.
* Add show fps.


'''fix1'''
'''fix1'''
* Fix DSi mode (broken when there are to much files on the SD) but dec size to a little bit more than 14 MB.
* Fix DSi mode (broken when there are to much files on the SD) but dec size to a little bit more than 14 MB.
* Fix arm9.
* Fix arm9.
Line 364: Line 323:


'''r5'''
'''r5'''
* Can load bigger gba roms in dsi mode (14.680.064) or with slot-2 ram (thanks Mbmax for testing).
* Can load bigger gba roms in dsi mode (14.680.064) or with slot-2 ram (thanks Mbmax for testing).
* Can run commercial roms (beta).
* Can run commercial roms (beta).
Line 371: Line 329:


'''r4'''
'''r4'''
* Fixed key detection.
* Fixed key detection.
* hwspeedup: fixed BG mode 3,4,5 but not good yet.
* hwspeedup: fixed BG mode 3,4,5 but not good yet.
Line 383: Line 340:
* GitHub - https://github.com/ichfly/gbaemu4DS
* GitHub - https://github.com/ichfly/gbaemu4DS
* GBAtemp - https://gbatemp.net/threads/gbaemu4ds-gba-emulator-for-ds-i-dsi-entry.281715/
* GBAtemp - https://gbatemp.net/threads/gbaemu4ds-gba-emulator-for-ds-i-dsi-entry.281715/
* FAQ - https://wiki.gbatemp.net/wiki/Gbaemu4DS_FAQ
* Tutorial - https://gbatemp.net/threads/how-to-get-gbaemu4ds-up-running-on-your-nds-the-correct-way.350336/
* Tutorial - https://gbatemp.net/threads/how-to-get-gbaemu4ds-up-running-on-your-nds-the-correct-way.350336/
[[Category:GBAtemp Homebrew Bounty 2011]]

Latest revision as of 05:18, 16 August 2024

gbaemu4ds
Gbaemu4ds.png
General
Authorichfly
TypeHandheld
Versionalpha 2 fix 4
LicenseMixed
Last Updated2012/12/23
Links
Download
Website
Source

gbaemu4ds is a Game Boy Advance emulator for DS.

The homebrew was entered into the GBAtemp Homebrew Bounty 2011 (DSi).

Installation

Download contains several versions:

  • gbaemu4ds alpha 2 fix4.zip - Latest version, with sound.
  • gbaemu4ds alpha 1 fix1.zip - Better compatibility.
  • GBAEmu DS r5 fix 4.zip - Last working DSi mode build.

To install:

  • Unpack the zip file to the root of your SD. Delete the file patch.pat.
  • If you are using an acekard, keep the folder _rpg, else you can delete it.​
  • Copy GBA homebrews and roms (.agb, .bin, .mb or .gba) to your flashcard (note that .gba is not supported for wood users (v1.45+)).

See also the gbaemu4ds compatibility list.

User guide

Run hbmenu.nds, browse to the ROM on gbaemu4DS, press A and choose "gbafile (start emu)" to launch it.

Menu options:

  • gbafile (start emu)
  • savefile
  • bios
  • patch

On the lower screen you will see some configuration options:

  • lcdswap - Press A to use the upper screen, B for the lower screen.
  • SaveType - You can use SaveTypeAutomatic for most case.
  • frameskip - Modify framerate.
  • autovsync - Press A to enable.

And launch options:

  • oldirq
  • newirq
  • advirq
  • HblancDMA
  • forceHblanc
  • newirqsound
  • advirqsound
  • HblancDMAsound
  • forceHblancsound
  • newirqsoundsc
  • advirqsoundsc
  • HblancDMAsoundsc
  • forceHblancsoundsc
  • oldirqsc
  • newirqsc
  • advirqsc
  • HblancDMAsc
  • forceHblancsc

Launch options

gbaemu4DS lets you select the launch mode for your ROM. advirq is designed for commercial ROMs and has better compatibility with games. You can choose others for homebrew.

However, there are exceptions like "Yggdra Union: We'll Never Fight Alone," which requires HblancDMA or forceHblanc (the latter works better than HblancDMA).

Notes on other options.

Saving and loading

To save a game, press Y or Up+A+B, then select "save".

To load a save, select load the save instead of the ROM, then click "savefile" and pick the ROM to boot it. Since Version r41, there's also an auto detect function for save files.

Troubleshooting

The compatibility isn't perfect right now. If a game crashes, you could try a different version or save type (128k Flash usually fixes most white screens). Also, (E) ROMs tend to work better.

Here are some things to try if a homebrew or ROM crashes:

  • Hold the X button at the point it normally crashes.
  • Switch to another mode like oldirq, newirq, advirq, HblancDMA, or forceHblanc.

There's no GBA border implemented, and you might see a glitchy fuzz around the sides of the screen. You can try using sc versions, which scales the ROM to fit the whole DS/DSi/3DS screen.

Controls

Up+A+B - Menu

Screenshots

gbaemu4ds2.png gbaemu4ds3.png

Media

gbaemu4ds settings explanation (ichichfly)

gbaemu4ds alpha 1 first com rom sound test (ichichfly)

Play GameBoy Advance Games On Any R4 Card! (GBAEMU4ds) (Tech James)

Compatibility

Tested on:

R4i Gold
Supercard DSTWO

Changelog

alpha 2 fix 4

  • UI impr.
  • Minor irq impr.
  • Patch support.
  • Closed DS irq now halts the gba game.
  • This update provides behind-the-scenes fixes that will improve the overall system performance (compatibility impr.).

fix 1

  • Fixed bug that prevents the emulator from loading saves in some cases.
  • Fixed accociations.ini is now in the __rpg folder as it should be.

alpha 1

  • Added new UI (also gives the emulator more free ram).
  • Added press Y to save the save.
  • Added DMA sound.
  • Changed break menue combination to A+B+UP.

r41

  • Added auto detectadded lcdSwap if second arg is set to '1'.
  • Added capture_and_pars mode.
  • Fixed syncline input.

r40

  • Fixed old_irqadded patching system.

r39

  • Added buggy reset.
  • Some small fixes/impr.
  • Fix read/write from 0x0b000000.

r38

  • Fixed most crushes if X is not pressed.
  • Added H-Blank stuff.

r37

  • (Pokemon works now if X is pressed at some points).
  • Some IRQcode impr.
  • Inc. buffslots from 100 to 255.
  • Some functions are now arm code.

r36

  • (Fixed Mario Advanced 2(U)/(J) fixed Anguna and many other homebrews they also save now).
  • Added itcm protector.
  • Added greatownfilebuffer.
  • Added ichfly_readdma_rom.
  • Fixed eeprom emulation.

r35

  • (Fix(Camp Lazlo) and break some games(unknown) if you game frees try to press X at the point where the game frees and it may work (Camp Lazlo)).
  • Added fat code.
  • Fixed uppern_read_emulation.
  • Added file map speedup.

r34

  • "This update provides behind-the-scenes fixes that will improve the overall system performance".

r33

  • Some shortcuts added.
  • Added slow Versions (that Version fix some games,break some games and some games are slowed down).

r32

  • "This update provides behind-the-scenes fixes that will improve the overall system performance".
  • Better fifoinit.

r31

  • "This update provides behind-the-scenes fixes that will improve the overall system performance" <-- lock at git if you don't blieve that (fixed DragonBallTR (PB)).

r30

r29

  • New irq system <-- still beta break some games fix some (Another world is working now).

r28

  • Use new PU configuration that give the gba much more power but make some games run to fast or crash but fix more crashes.
  • Code cleanup now the src should be easy to compile.

r27

  • Recompiled with new gcc.
  • Some fixes.

r26

  • Add: swi 2,3,4.
  • Fix siw 5.
  • Change: reduced power consumption if gba use swi 2,3,4,5.
  • Add: file auto detect.
  • Add: mb now used as mb.
  • Change: now save new save files as .sav.

r25

  • Add: select SaveType.
  • Fix:re import sp.
  • Add:some debug code (disabled).
  • "This update provides behind-the-scenes fixes that will improve the overall system performance" (some code clean up and small things look at git if you want to see all changes).

r24

  • Add: if L+R+B is pressed before the Emulator crash the emulator will generate an debug dump called "gbadump.bin" on the sd.
  • Fix:sp for Multi Interrupts.
  • Add: code for fast tracking.

r23

  • Change: now only write non debug stuff to the touch screen.
  • Add: swi 5 (VBlankIntrWait) now do frameasyncsync (If the gba rom support that you now get true 60fps).

r22

  • Fix: irq (for Another World(still not working),MaxMod Audio(still not working),gng(now working) but some homebrews that worked in r21 or before are no more working).
  • Change: Disabled sound dma get requests (sound dma get requests break many games).

r21

  • Added: dehook some patches that break some functions.
  • Added: not realy working sound emulation.
  • Fix: timing functions now emulate the real speed that fix some games but also may break some games anyway I need it for the sound functions.

r20

  • Inc. executable size to more than 3 Mbyte.
  • Cleaned it up a bit.
  • Speed up loading.

r19

  • Added: now reads (dma and normal) from rom above the ram buffer work (now reads from any part of the rom work however execution is limited to lower ~ 2,9 MByte).

r18

  • Change: impr. ex_s.s.
  • Change: fixed 16 Bit read.
  • Change: impr. hw reg read/write.

r17

  • Change: now calculate the best size for the buffer for the gba file (currently a bit more than 2,9 Mbyte currently every read above that 2,9 Mbyte return garbage).
  • Fix: irq system (faster irq handling, gba irqs seems to work now).
  • Fix: some "advanced" graphic functions in mode 3-5.
  • Added: some break menu functions.

r16

  • Power Off unneeded things.
  • Fixed some bugs.
  • Don't crash the arm7 any more.
  • Break function added (L+R+A+B).

r15

  • dma speedup.
  • Fix in the browseForFile function.
  • Fix: swi 6.
  • Add: swi 7.
  • Add: BIOS_RegisterRamReset(0xFF) at start.

r14

  • Working with unpatched gba roms.
  • Some fixes by me and some by totschlag_Engelchen.
  • New UI.

r13

  • Prefetch fail fixed by workaround and on the fly patch.

r12 (hyperspeedup)

Notes:

  • (only very very few homebrew work I think ~5-10 %)
  • (most gba files must be patched)
  • (speed normally 50-200% of the original gba speed)

Changes:

  • Untested but hope it work now irq added.
  • Features Behind-the-Scenes improvements to system performance (short cuts added).
  • swi 6 fixed.

r11 (hyperspeedup)

Notes:

  • (only very very few homebrew work I think ~5-10 %)
  • (most gba files must be patched)
  • (speed normally 50-200% of the original gba speed)

Changes:

  • Features Behind-the-Scenes improvements to system performance (short cuts added).
  • better 0x4000004 - 0x4000008 emulation.
  • dma start a Vblanc now working (at Hblanc still not working).
  • timer added 2*GBA frequency (no interrupt is working yet (also Vblanc and so on)).
  • DISPCNT emulation improve (mode 3-5 still has a update frequency of 6 Hz).

r10 (hyperspeedup)

Notes:

  • (only very very few homebrew work I think ~5-10 %)
  • (most gba files must be patched)
  • (speed normally 50-200% of the original gba speed)

Changes:

  • Features Behind-the-Scenes improvements to system performance and stability (Flush/Invalidate DC and IC).
  • Updated rom loader some older flashcards work now (AK(i) seems to have issue with the new version but not because of this (I can't test this but someone has reported that)).
  • BIOS_RegisterRamReset(0xFF); is called at the startup also done on the original gba (fix some games).

Patcher:

  • Added auto detect for some patches.
  • Added Anti User patch some games need that to start.
  • Some other things.

fix4

  • UI working now but not every time sometime crush alloc.
  • Add show fps.

fix1

  • Fix DSi mode (broken when there are to much files on the SD) but dec size to a little bit more than 14 MB.
  • Fix arm9.
  • Fix gba open (hope).

r5

  • Can load bigger gba roms in dsi mode (14.680.064) or with slot-2 ram (thanks Mbmax for testing).
  • Can run commercial roms (beta).
  • ui to load gba and .sav (beta) (hope this work as it worked with nitro).
  • Load saves (no save saving just the load funktion) (beta).

r4

  • Fixed key detection.
  • hwspeedup: fixed BG mode 3,4,5 but not good yet.
  • hwspeedup: little speedup.
  • hwspeedup: speedup by dmaCopy.
  • hwspeedup: size decrease the nds is about 80KB smaller.
  • hwspeedup: little menü for changing the fps that are generated not good yet.

External links

Advertising: