Giter Site home page Giter Site logo

gbe-plus's Introduction

gbe-plus

GB Enhanced+ is a DMG/GBC/GBA/Pokemon Mini emulator and experimental NDS emulator. It is the successor to the original GB Enhanced project with a focus on emulating as much of the Game Boy as possible, including various peripherals and accessories.

License

GB Enhanced+ as an emulator is Free Open Source Software available under the GPLv2. See license.txt for full details.

Technical documentation and Dan Docs are Public Domain.

Overview

GB Enhanced+ (GBE+ for short) aims to be a fully functional Game Boy emulator. The goal is to create a highly portable emulator using C++ and SDL and document the Game Boy's functions through clear code. Additionally GBE+ strives to emulate everything about the Game Boy, including obscure hardware and features.

Compiling GBE+

The only requirements at this moment are SDL 2.0, OpenGL 3.3 or greater, a C++ compiler, and CMake. Qt (for the GUI) and SDL2_net (for netplay) are optional dependencies. GLEW is a Windows-only mandatory dependency.

READ THE MANUAL

GBE+ comes with very nice PDF and ODT manuals explaining everything about its operation, and devotes extensive time to covering complex topics such as setting up netplay, enabling rumble support or motion controls, and more. PLEASE READ THE MANUAL if you have any questions regarding this emulator.

gbe-plus's People

Contributors

alasher avatar arves100 avatar bentley avatar captaincaffeine avatar lioncash avatar mid-kid avatar randomusername-a avatar shonumi avatar wit-mkw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gbe-plus's Issues

[GBA] Support wide-screen stretching when running DMG/GBC games

When inserting a DMG or GBC cart into a GBA, pressing the L and R buttons toggle stretching the screen to 240x160 or 160x144. It would be nice if GBE+ could emulate this. It's functionally pointless, but I want it to make the emulator feel more "complete".

The method of stretching is not documented as far as I can tell. A few DMG test ROMs should help determine the exact vertical and horizontal stretching.

Windows 1.0 Beta dependencies issue

Running on Win8.1 x64, get system errors saying program can't run without:

libwinpthread-1.dll
libstdc++-6.dll
libgcc_s_dw2-1.dll

After adding those (x86, built using mingw-w64 4.9.2), it crashes with:

The procedure entry point
_ZNKSt7_cxx1112basic_stringlcSt11char_traitlcESalcEE12find_last_ofEP
Kcjj could not be located in the dynamic link library
F:\...\gbe_plus_qt.exe

[GBA] SoftReset SWI broken in numerous games

Seems to mess up in a host of games. Known buggy games include:

Kingdom Hearts: Chain of Memories
Advance Wars
Sonic Advance

Some seem to endlessly loop (repeating the HLE SWI) when using the Qt version, the SDL version is fine for some reason. Others (Sonic Advance mainly) glitch in both.

Post-processing shaders

[GBA] Fire Emblem glitched title screen

Fire Emblem experiences graphical glitches in its title screen:

FIRE_EMBLEM

The underlying problem here is that nothing inside/outside of the OBJ window is properly enabled/disabled.

[GBA] Golden Sun split OBJs

Some OBJs appear to split in two when they should be one. This occurs in Golden Sun 1 and 2. Seems like the main culprit is battle sprites.

My guess is that some kind of memory transfer is off, so when it actually writes to VRAM, the addresses or lengths are all wrong. It could also be an obscure CPU issue, somehow (which would suck).

GS1

In this picture, it's clear that Isaac and Garet are breaking up with each other.

[GBC] Star Wars Episode I - Racer OBJ-BG priority glitch

After selecting a rival to race against, the player's racing pod is displayed on-screen, however, certain parts are clipped:

Clipped_1

Apparently, the parts that are clipped match up exactly with BG tiles that have priority over all OBJs. This is so when the pod leaves the garage/workshop, it passes under the overhead beams:

Clipped_2

The issue seems to be that the OBJs should have priority. The scene looks gray in the first picture, but it actually has all of the raw palette data (dot data as some call it) for the workshop scene. In effect, all the game does is adjust the color palettes to create a fade-in look.

What's baffling is that by all accounts, the OBJs should not have priority here. When the OBJ priority is 0 (as it is here) and the BG priority is 1 (as it is here), OBJs will only display if the BG raw palette data is 0 (color 0), but that's not the case with the tiles in question (the beams use colors 1-3). But on real hardware, the OBJs are supposed to have priority anyway.

Material maps

Would it be possible to have the ability to add a material map to a tile, and perhaps setting a tile as a light source, it could open up a lot of interesting looks to the game

Example:
9gq1jd1jv1j71j71jz1ir9gq
Normal
9gq1jd1jv1j71j71jz1ir9gq_n
so..
with normal applied it could look like this..
example

[GBA] Mega Man Zero intro graphical glitch

A very minor graphical glitch occurs when playing Mega Man Zero (AGB-AZCE). When the game loads the "MEGAMAN ZERO" blue text, parts of it can be seen on the left-hand side.

MMZ

6xBRZ texture scaling

[GBA] BIOS graphical glitches

The GBA BIOS runs as expected, however, the screen is completely blank (white). A screenshot below for reference:










It runs, plays the jingle, and finishes as expected, but graphically, nothing shows up. Initial tests show that the OBJs that make up the "GAMEBOY" and "Nintendo" logos exist in VRAM, they're just not drawn or anything. It seems like a blending issue with the GBA SFX or something.

Windows binary?

It's been a very long time since the last Windows release. Will Windows still be supported and if so any idea when the Windows version is going to be released?

Vulkan API support

Slow speed on OpenBSD

gbe_plus and gbe_plus_qt run at (about?) half speed on OpenBSD. This occurs in both 1.1 and master.

Wildly speculating, I messed around with the sample rate, but except for audio quality, values of 1/22000/24000/44000/48000/96000 don’t seem to act any differently. (The OpenBSD sound server defaults to 48000.)

I’m not really sure what information would help debug this issue, but I’m happy to provide it…

[GBA] "Mode 7" graphical glitches

Several games that mimic the infamous "Mode 7" from SNES games exhibit graphical glitches. A few examples are:

  • F-Zero: Maximum Velocity
  • Mario Kart: Super Circuit
  • Bomberman Tournament (the area map when pressing Select)

FZERO
MKSS
BT

I'm fairly certain that the code for calculating rotation/scaling is correct (other backgrounds will rotate and scale correctly), but the problem seems to have to do with HBlanks. Something is not quite right with the way things are happening. The GBA may some weird trick like the trick from commit c878372

Gameboy Color bugs

Minesweeper for 'Windows' (PD) [C]
as soon as you choose new game it freezes up

16 Threads Demo by DarkFader (PD) [C]
blank white screen

Beat Mania GB 2 (J) [C]
blank white screen

Binary Chaos (PD) [C]
lots of graphic glitches

Color Panel Demo (PD) [C]
The pattern display is not correct.

Cool Hand (E) (M3) [C]
freezes up on the title screen

Demotronic Final Demo (PD) [C]
The demo detected it was an emulator and refused to run.

It Came from Planet Zilog (PD) (C)
few screens have graphic glitches then freezes up the emulator

Mary-Kate & Ashley - Crush Course (U) [C]
graphics are all corrupt

Ready 2 Rumble Boxing (U) [C]
speech is not correct and during gameplay there is graphic glitches

Warriors of Might and Magic (U) [C]
stuck on the title screen

Oddworld Adventures 2 (E) (M5) [C]
Missing speech at the title screen and at the Gamespeak option

Mental Respirator (PD) [C]
3 of the demos dont work properly

Cheats, Memory editor, Ascii editor, Hex editor, assembler, disassembler, memory hacks, memory dumping and restoring.

You are working on the debugger right now so I wonder if such features are feasible such editors would be very helpful for rom hacking and translating.

http://ngemu.com/threads/playstation-emulator-cheater-setup-guide.101186/
http://pec.duttke.de/
http://www.aldostools.org/pecedit.html
https://github.com/strobejb/HexEdit
https://github.com/evanmiller/hecate
http://www.zophar.net/utilities/hexutil.html
http://homepage.ntlworld.com/simon.mallion/PSXMemTool/

https://github.com/bryanperris/Soft64-Bryan/commit/a32c8417d654ad1f1b2d5d123a25d8c7bd876be3
https://github.com/bryanperris/Soft64-Bryan/commit/cbc5900fe9003bec3f505f798a350124b1f748ba
https://github.com/bryanperris/Soft64-Bryan/commit/ae12be0b95193d1188353b234fda5e8d751ba073
https://github.com/bryanperris/Soft64-Bryan/commit/317792db0a60221a7275bbd7ebadc5b5ca24d056
https://github.com/bryanperris/Soft64-Bryan/commit/30bade4a1422f81909693bdeba9f5ab8e2958845
https://github.com/bryanperris/Soft64-Bryan/commit/983a2123ca0850c139daf38343341cbc3c5cb0e2
https://github.com/bryanperris/Soft64-Bryan/commit/73cccc85990ebd942cf233ae552a71d0d9d7cf79
https://github.com/bryanperris/Soft64-Bryan/commit/547f411fbfade98796db9e273680567db7a3e30c
https://github.com/bryanperris/Soft64-Bryan/commit/fc87976f1f66a0377fd75f11868c552c4495920a
https://github.com/bryanperris/Soft64-Bryan/commit/ef23217f69cba4bb7b89fcd202360432070ad00b
https://github.com/bryanperris/Soft64-Bryan/commit/e395d0ebe2e3fed33583c135c96cd50f04c5edf7
https://github.com/bryanperris/Soft64-Bryan/commit/26912be38688650a24e82e0307204ea17fe6171a
https://github.com/bryanperris/Soft64-Bryan/commit/e6e18d683c4dbacfee362435c9ccb4a7339c9124
https://github.com/bryanperris/Soft64-Bryan/commit/c1058582e1e3cbc2cf796c0ecb17373e921b1196
https://github.com/bryanperris/Soft64-Bryan/commit/5cd103903fe40c0e9ac9e913e899ad9daa63c50b
https://github.com/bryanperris/Soft64-Bryan/commit/e90bbabb2fea1622f09051b0cc130340bc6c5c3e
https://github.com/bryanperris/Soft64-Bryan/commit/6f11e13cff36d551390531e797f34e4296fe956b
https://github.com/bryanperris/Soft64-Bryan/commit/9dd6eff6c5f7f06c5bbf472a06f74b02098f7cc1
https://github.com/bryanperris/Soft64-Bryan/commit/fdfa10b08f34798f357a76c3444083d6a991dcb7
https://github.com/bryanperris/Soft64-Bryan/commit/0f21f4a96e33d3b382ca3c3fbe622d72f6977ab3
https://github.com/bryanperris/Soft64-Bryan/commit/96b3b6328186353e9da4944428cfffe0db54debb
https://github.com/bryanperris/Soft64-Bryan/commit/824c96abd61561cea4d84e71460d1a01609150a6

Gameboy bugs

Prehistorik Man (USA, Europe)
freezes up after the Titus screen

Altered Space - A 3-D Alien Adventure (USA)
it freezes up straight away

Mortal Kombat & Mortal Kombat II (USA, Europe)
if you choose one or two it just resets back to the developers screen

Super Chinese Land 1.2.3. Dash (J)
which ever game you choose it resets back to the title screen

Pokemon Red-Blue 2-in-1 (U)
doesn't load either game

Initial D Gaiden (J)
blank white screen

Crash on OpenBSD

Tested on an OpenBSD 6.0 snapshot.

$ egdb src/gbe_plus            
GNU gdb (GDB) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-openbsd6.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from src/gbe_plus...done.
(gdb) run /tmp/pht-mr.gbc
Starting program: /tmp/gbe-plus/build/src/gbe_plus /tmp/pht-mr.gbc
GBE+ 1.0 [SDL]
GBE::Error - Could not open gbe.ini configuration file. Check file path or permissions. 
MMU::Initialized

Program received signal SIGBUS, Bus error.
0x00001ea0048ec320 in SDL_DestroyWindow_REAL ()
   from /usr/local/lib/libSDL2.so.0.2
(gdb) bt
#0  0x00001ea0048ec320 in SDL_DestroyWindow_REAL ()
   from /usr/local/lib/libSDL2.so.0.2
#1  0x00001e9d7425cc62 in DMG_LCD::reset (this=0x1ea06eef1498)
    at /tmp/gbe-plus/src/dmg/lcd.cpp:35
#2  0x00001e9d7425df03 in DMG_LCD::DMG_LCD (this=0x1ea06eef1498)
    at /tmp/gbe-plus/src/dmg/lcd.cpp:19
#3  0x00001e9d7426eade in Z80::io_controllers::io_controllers (
    this=<optimized out>) at /tmp/gbe-plus/src/dmg/z80.h:106
#4  Z80::Z80 (this=0x1ea06eef1458) at /tmp/gbe-plus/src/dmg/z80.cpp:14
#5  0x00001e9d74248a50 in DMG_core::DMG_core (this=0x1ea06eef1350, 
    __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /tmp/gbe-plus/src/dmg/core.cpp:22
#6  0x00001e9d74207344 in main (argc=<optimized out>, 
    args=0x1e9d746945b0 <config::cli_args>) at /tmp/gbe-plus/src/main.cpp:46
(gdb) 

Hardware rendering for replacement tiles?

At present gbe+ uses only software rendering would it be possible to add hardware rendering for replacement tiles like HDNes is doing? I'd improve performance greatly.

GBA ROM Prefetch emulation.

Enhanced GBA audio?

One thing that always bothered me about the GBA was the audio. It sounded to me like it was audio that could have been from the PSX or newer but raped in some really bad way before reaching the speakers.

Now I've been reading a little about GBA audio lately and it turns out that this is quite close to reality. Apparently most GBA games use a MIDI + soundfont setup and an engine called Sappy. MIDI is MIDI and soundfonts can have quite good quality samples, but actually playing back MIDI in CD quality is apparently not something the weak GBA can do.

We now have a utility for extracting MIDI files and a soundfont from a GBA rom: http://www.romhacking.net/utilities/881/

So basically, if there's a way of bypassing the GBA hardware's processing of audio and instead passing it on to the emulator frontend or an external audio player/MIDI synthesizer, CD quality audio would become a possibility.

More info on Sappy: http://www.romhacking.net/documents/462/

[GBA] Sword of Mana - Various graphical glitches

Sword of Mana experiences a host of graphical glitches. The first is the Brownie Brown logo that appears. The top part should be off-screen, but a few lines are visible in GBE+ at the very bottom.

Brownie_Logo

The game also seems to randomly skip drawing certain OBJs when actually playing the game

Gameboy Advance bugs

2 Great Games! - Pac-Man World + Ms. Pac-Man - Maze Madness (USA)
emulator closes down when you choose your game

007 - NightFire (USA, Europe) (En,Fr,De)
no music or sound fx and during gameplay bottom of the screen is glitchy and flashing

007 - Everything or Nothing (USA, Europe) (En,Fr,De)
no music or sound fx

[GBA] Implement affine transformations for BG Modes 3-5

With affine transformations finished for BG Modes 1 and 2, it should be relatively easy to do the same for the bitmap modes. A number of games actually use this feature too, so it's not something obscure. Notably, the intro to Advance Wars starts off with this effect (a zoom-in) and certain games are otherwise unplayable, like Ecks vs. Sever:

EVS

Although, I have to hand it to Mr. Ecks, being able to run on walls like that.

[GBA] LoZ: Minish Cap Link won't roll

When assuming control of Link, in GBE+ he can't seem to roll with the R button no matter what. No text in the upper-right hand shows up, and pressing the R button does nothing either.

LOZMC

Here, Link is clearly walking, but unable to roll. Fwiw though, most people don't roll around in their own houses...

No idea what the source could be. Pretty sure it's nothing related to input, but still that would be a good start (at least disassemble the code involved with input handling and see what it expects).

Build instructions

Could someone ad build instructions to the readme please?

i know that i need cmake, but i dont know how to configure the build.

PDF mistakenly claims that 1.1 has a release.

This is in the first sentence of 2.1 Obtaining, Compiling, & Installing GBE+.

This /could/ be fixed by making a late build of what everything was at 1.1, but well, chances are that you would just change the PDF to point at 1.0 instead.

[GBA] Lunar Legend OBJ priority glitch

When in battle, some OBJs are at the wrong priority level, for example, the WIN text should be above everything else instead of behind it:

LL_OBJ

The issue here is that apparently, while OBJs with a lower ID in OAM should be drawn first, if an overlapping OBJ with a higher ID has it's OBJ-to-BG priority set higher, it should take precedence. If I understand it correctly, most games don't take advantage of this little trick, which is why it went undetected all of this time.

[GBC] "Densha de Go! 2" Unkown Opcode 0xD3

"Densha de Go! 2" crashes almost immediately in GBE+ with Error - Unknown Opcode : 0xd3. This game is the only official cart to use more than 256 ROM banks, so the issue might be in the MBC5 emulation.

[DMG] Tetris Plus zombie sounds

Just picked up this game today and it runs fine in GBE+, except for one tiny issue. One of the sound channels repeatedly "hisses". Sounds like it's stuck in a short loop (maybe Sound 3). Requires more investigation, but it should be an easy fix.

Waifu2x in real time

Hello

I was told to check with you guys about my request too.
I don't know if you are familiar with the Waifu2x upscaler and filter. It's both web-based and in program form.
You can grab the program here

https://translate.googleusercontent.com/translate_c?depth=1&hl=en&prev=search&rurl=translate.google.se&sl=ja&u=https://github.com/lltcggie/waifu2x-caffe/releases&usg=ALkJrhivu32FwUwuPxodRAFRTS4bRFPimA

And here is a GLSL impementation.

https://github.com/ueshita/waifu2x-converter-glsl

My request is originaly to have this kind of upscaler and filter mainly for PS1 emulation since those games were rendered in really, really low res.
Here is some examples I have done by upscaling original backgrounds from FFVII and FFIX.

FFVII
http://i.imgur.com/X27lVJ5.jpg

FFVII
http://i.imgur.com/fYwxIBY.png

FFIX
http://i.imgur.com/zR1kjlE.jpg

FFVII
http://i.imgur.com/CzRczDb.jpg

And here's another batch of FFVII pictures
http://imgur.com/a/zzdBm

Well, as you can see this is probably the best option for making these games look as "hd" as possible. And it do looks really nice.

So, is there any possibility that we sometime can have a Waifu2x filter for realtime gaming?
Please
/Mike

Render gfx in a separate thread

Pretty much the only thing for IodineGBA I did this year, and currently am adding it to MercuryGBA.
I conducted enough tests to prove this was worthwhile, many times over, monitoring overall CPU load.I thought I'd add a request to other emulators to make sure everyone is aware this is implementable, which isn't always the case for most consoles (A bunch of consoles depend on rendering state for what the CPU interpreter will do, GBA emulation can elide this).

The structure I used was a ring buffer stuffed with i/o and vram writes, piped to the gpu thread. No locks should be necessary, just a membar. The VRAM writes are copy on write, with VRAM mirrored between the CPU and GPU threads inside separate buffers. Also the design calls for the GPU thread to wait for vsync before processing the ring buffer, and immediately block again until vsync. Try to not update the atomic counters until end of the emulation iteration as well, to avoid adding overhead (Atomic ops on core 2 and pentium d are slow).

Various Game Boy problems

I don't know if these have since been fixed (as the latest Windows binary is over a year old) but I ran into a bunch of issues while trying to apply color to Mega Man V.

  • The audio is extremely inaccurate, as if it's running at 30hz or something, it misses beats sometimes and all sound effects sound very sloppy.
  • When "load custom graphics" is checked, specific areas of the game run very slowly, even if no custom graphics are loaded for those parts. The stage select is the most constant one, makes the program take a full CPU core and it runs at maybe 5 FPS. Unchecking that box fixes the issues temporarily until it is checked again.
  • When dumping graphics, if I try to dump the same sprite more than once (if the original dump got messed up), it won't let me re-dump it. This happens even if I delete the manifest and all dumped images.
  • Mega Man V seems to swap OBJ sprites in and out from the BG, where they're stored as inverted-palette tiles. Not sure how to colorize these as they take up the same addresses as the normal sprites apparently, and dumping them normally doesn't work.
  • If I enable "auto dumping" i get thousands of files after maybe 30 seconds. It's dumping tons of duplicates, probably due to the way it swaps the OBJs in and out of the BG tileset.

[Qt] Opening a second game deletes save file

When using the Qt version, starting one GBA game, then opening another will cause the core to think the save data is empty. Once the Qt version closes, it automatically saves the game, meaning saves can be wiped out completely.

A number of other strange things happen (core claims DMA0 is using Type 3 DMA,which is prohibited, random accesses to bad memory locations). Something isn't being reset correctly, likely in the MMU.

Multi-pass CPU-based filter framework with Super xBR support.(For DS and some GBA games mostly)

Multi-pass cpu filter framework is required for a cpu based version of Super xBR which can work directly on textures.
https://github.com/libretro/common-shaders/tree/master/xbr
Here are screenshots of RE Remake on GC with Super xBR applied with RetroArch's image viewer core.
Super xBR on textures looks phenomenal on digitized games and games with pre-rendered backgrounds.
https://drive.google.com/file/d/0B_yrhrCRtu8GYkxreElSaktxS3M/view?pref=2&pli=1

retroarch-0104-045603c2lwi
retroarch-0104-045626t3yf9
retroarch-0104-050239cgzx3
retroarch-0104-050309hrlvx
retroarch-0104-045826iplny

Too many replacements = garbage graphics

It seems like the more tiles that are replaced the more trouble the emulator has rendering everything. Sometimes it won't even start and crashes instead. I'm running it with OpenGL on Windows 10. I had to compile from source 67874fd because the beta exe has similar errors as issue #23 .

broken

Manifest and replacement tiles are here.

[CGFX] Implement EXT_VRAM_ADDR and EXT_AUTO_BRIGHT

These extensions to the original manifest design need to be implemented soon. To recap, these features do the following:

EXT_VRAM_ADDR: This is an address pointing to VRAM. When an entry is added to the manifest, the tile it replaces will only be replaced if that tile's data is located at the specified address. If not, the hash is ignored and no replacement occurs. This possibly makes it easy to replace certain tiles. For example, sometimes all black tiles are used for the sky and the ground, but the same tile actually exists in two separate VRAM addresses (thus we can color one different than the other, even though both technically generate the same hashes).

EXT_AUTO_BRIGHT: This is a simple 0 or 1 (enable/disable respectively). When enabled, the replacement tile will increase or decrease its brightness according to the average brightness of the palette. This feature is largely intended for GBC games that do fade-in/fade-out sequences. Auto-brightness adjustment makes it so custom tiles can change according to the scene's color without keeping hundreds or thousands of copies to manually deal with palette changes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.