[Java] from scratch - Very Simple GameBoy Assembler (CPU: Sharp LR35902) + Hello World program
Very simple GameBoy assembler (CPU: Sharp LR35902) implemented in java + Hello World assembly example program.
Some details about this assembler:
- can generate only 32Kb 'ROM ONLY' (00h) Cartridge Type
- can't evaluate expressions
- labels must have at least 3 bytes
- support non local + local labels (similar to nasm)
- supported pseudo instructions: org, equ & db
- decimal literal numbers: 127, 10
- hex literal numbers: $ab, 0abh
- binary literal numbers: %10010001, 10010001b
Runnable jar (java 8): https://github.com/leonardo-ono/JavaGBAsm/raw/master/src/dist/jgbasm.jar
Source code: https://github.com/leonardo-ono/JavaGBAsm
Hello World example program: https://github.com/leonardo-ono/JavaGBAsm/tree/master/example
Note 1: For simplicity, the Hello World example program does not contain the correct header. You can use some external program like rgbfix to fix it. Emulator like BGB lets you run it anyway with warnings, but on a real device, it will not run without a correct header.
Note 2: 19/jan/2020 IMPORTANT: added wait_for_vblank function in hello.asm. According to http://bgb.bircd.org/pandocs.htm#videodisplay: "CAUTION: stopping LCD operation (Bit 7 from 1 to 0) may be performed during V-Blank ONLY, disabeling the display outside of the V-Blank period may damage the hardware."
Tools:
Gameboy Tile Designer: http://www.devrs.com/gb/hmgd/gbtd.html
References:
https://media.ccc.de/v/33c3-8029-the_ultimate_game_boy_tal #t=34
https://gbdev.gg8.se/files/docs/mirrors/pandocs.htm #thecartridgeheader
https://www.pastraiser.com/cpu/gameboy/gameboy_opcodes.html
http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf
https://eldred.fr/gb-asm-tutorial/hello-world.html
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «[Java] from scratch - Very Simple GameBoy Assembler (CPU: Sharp LR35902) + Hello World program», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.