{"doc_urls":["introduction.html#introduction","introduction.html#other-works","ch0/index.html#chapter-0-development-setup","ch0/index.html#per-system-setup","ch0/index.html#per-project-setup","ch0/index.html#compiling","ch1/index.html#ch-1-hello-gba","ch1/hello1.html#hello1","ch1/hello1.html#explaining-hello1","ch1/hello1.html#all-those-magic-numbers","ch1/hello1.html#sidebar-volatile","ch1/io_registers.html#io-registers","ch1/the_display_control_register.html#the-display-control-register","ch1/the_display_control_register.html#video-modes","ch1/the_display_control_register.html#cgb-mode","ch1/the_display_control_register.html#page-flipping","ch1/the_display_control_register.html#oam-vram-and-blanking","ch1/the_display_control_register.html#screen-layers","ch1/the_display_control_register.html#in-conclusion","ch1/video_memory_intro.html#video-memory-intro","ch1/video_memory_intro.html#rgb15","ch1/video_memory_intro.html#mode-3","ch1/video_memory_intro.html#mode-4","ch1/video_memory_intro.html#mode-5","ch1/video_memory_intro.html#in-conclusion","ch1/hello2.html#hello2","ch2/index.html#ch-2-user-input","ch2/the_key_input_register.html#the-key-input-register","ch2/the_key_input_register.html#key-input-code","ch2/the_vcount_register.html#the-vcount-register","ch2/light_cycle.html#light_cycle","ch2/light_cycle.html#gameplay","ch2/light_cycle.html#operations"],"index":{"documentStore":{"docInfo":{"0":{"body":16,"breadcrumbs":1,"title":1},"1":{"body":49,"breadcrumbs":1,"title":1},"10":{"body":155,"breadcrumbs":6,"title":2},"11":{"body":143,"breadcrumbs":6,"title":2},"12":{"body":83,"breadcrumbs":7,"title":3},"13":{"body":174,"breadcrumbs":6,"title":2},"14":{"body":25,"breadcrumbs":6,"title":2},"15":{"body":32,"breadcrumbs":6,"title":2},"16":{"body":70,"breadcrumbs":7,"title":3},"17":{"body":54,"breadcrumbs":6,"title":2},"18":{"body":30,"breadcrumbs":5,"title":1},"19":{"body":94,"breadcrumbs":7,"title":3},"2":{"body":36,"breadcrumbs":4,"title":4},"20":{"body":47,"breadcrumbs":5,"title":1},"21":{"body":41,"breadcrumbs":6,"title":2},"22":{"body":211,"breadcrumbs":6,"title":2},"23":{"body":25,"breadcrumbs":6,"title":2},"24":{"body":47,"breadcrumbs":5,"title":1},"25":{"body":300,"breadcrumbs":5,"title":1},"26":{"body":111,"breadcrumbs":4,"title":4},"27":{"body":198,"breadcrumbs":7,"title":3},"28":{"body":532,"breadcrumbs":7,"title":3},"29":{"body":321,"breadcrumbs":6,"title":2},"3":{"body":106,"breadcrumbs":3,"title":3},"30":{"body":7,"breadcrumbs":5,"title":1},"31":{"body":20,"breadcrumbs":5,"title":1},"32":{"body":336,"breadcrumbs":5,"title":1},"4":{"body":93,"breadcrumbs":3,"title":3},"5":{"body":402,"breadcrumbs":1,"title":1},"6":{"body":39,"breadcrumbs":4,"title":4},"7":{"body":83,"breadcrumbs":5,"title":1},"8":{"body":312,"breadcrumbs":6,"title":2},"9":{"body":55,"breadcrumbs":7,"title":3}},"docs":{"0":{"body":"Here's a book that'll help you program in Rust on the GBA. It's very \"work in progress\". At the moment there's only one demo program.","breadcrumbs":"Introduction","id":"0","title":"Introduction"},"1":{"body":"If you want to read more about developing on the GBA there are some other good resources as well: Tonc , a tutorial series written for C, but it's what I based the ordering of this book's sections on. GBATEK , a homebrew tech manual for GBA/NDS/DSi. We will regularly link to parts of it when talking about various bits of the GBA. CowBite is another tech specification that's more GBA specific. It's sometimes got more ASCII art diagrams and example C struct layouts than GBATEK does.","breadcrumbs":"Other Works","id":"1","title":"Other Works"},"10":{"body":"We'llgetintowhatallthatisinamoment,butfirstlet'saskourselves:Whyarewedoingvolatilewrites?You'veprobablyneveruseditbeforeatall.Whatisvolatileanyway?Well,theoptimizerisprettyaggressivesomeofthetime,andsoit'llskipreadsandwriteswhenitthinkscan.Likeifyouwritetoapointeronce,andthenagainamomentlater,anditdidn'tseeanyotherreadsinbetween,it'llthinkthatitcanjustskipdoingthatfirstwrite