- 1. Introduction
- 2. Quickstart
- 3. Assembler Directives
- 3.1.
.16BIT
- 3.2.
.24BIT
- 3.3.
.8BIT
- 3.4.
.ACCU 8
- 3.5.
.ADDR 16000, main, 255
- 3.6.
.ALIGN 4
- 3.7.
.ARRAYDB NAME MyArray INDICES '0', 0, 1
- 3.8.
.ARRAYDD NAME MyArray INDICES '0', 0, 1
- 3.9.
.ARRAYDEF NAME MyArray SIZE 256
- 3.10.
.ARRAYDEFINE NAME MyArray SIZE 256
- 3.11.
.ARRAYDL NAME MyArray INDICES '0', 0, 1
- 3.12.
.ARRAYDW NAME MyArray INDICES '0', 0, 1
- 3.13.
.ARRAYIN NAME MyArray INDEX 0 VALUE 10
- 3.14.
.ARRAYOUT NAME MyArray INDEX 0 DEFINITION ArrayOut
- 3.15.
.ASC "HELLO WORLD!"
- 3.16.
.ASCIITABLE
- 3.17.
.ASCSTR "HELLO WORLD!", $A
- 3.18.
.ASCTABLE
- 3.19.
.ASM
- 3.20.
.ASSERT VALUE_1 == 1
- 3.21.
.BACKGROUND "parallax.gb"
- 3.22.
.BANK 0 SLOT 1
- 3.23.
.BASE $80
- 3.24.
.BITS 4 DATA %1011, %0100, %1010, %0101
- 3.25.
.BLOCK "Block1"
- 3.26.
.BR
- 3.27.
.BREAK
- 3.28.
.BREAKPOINT
- 3.29.
.BYT 100, $30, %1000, "HELLO WORLD!"
- 3.30.
.CARTRIDGETYPE 1
- 3.31.
.COMPUTEGBCHECKSUM
- 3.32.
.COMPUTEGBCOMPLEMENTCHECK
- 3.33.
.COMPUTESMDCHECKSUM
- 3.34.
.COMPUTESMSCHECKSUM
- 3.35.
.COMPUTESNESCHECKSUM
- 3.36.
.CONTINUE
- 3.37.
.COUNTRYCODE 1
- 3.38.
.DATA $ff00, 2
- 3.39.
.DB 100, $30, %1000, "HELLO WORLD!"
- 3.40.
.DBCOS 0.2, 10, 3.2, 120, 1.3
- 3.41.
.DBM filtermacro 1, 2, "encrypt me"
- 3.42.
.DBRND 20, 0, 10
- 3.43.
.DBSIN 0.2, 10, 3.2, 120, 1.3
- 3.44.
.DD $1ffffff, $2000000
- 3.45.
.DDM filtermacro 1, 2, 3
- 3.46.
.DEF IF $FF0F
- 3.47.
.DEFINE IF $FF0F
- 3.48.
.DESTINATIONCODE 1
- 3.49.
.DL $102030, $405060
- 3.50.
.DLM filtermacro 1, 2, 3
- 3.51.
.DS 256, $10
- 3.52.
.DSB 256, $10
- 3.53.
.DSD 256, $1ffffff
- 3.54.
.DSL 16, $102030
- 3.55.
.DSTRUCT waterdrop INSTANCEOF water VALUES
- 3.56.
.DSW 128, 20
- 3.57.
.DW 16000, 10, 255
- 3.58.
.DWCOS 0.2, 10, 3.2, 1024, 1.3
- 3.59.
.DWM filtermacro 1, 2, 3
- 3.60.
.DWRND 20, 0, 10
- 3.61.
.DWSIN 0.2, 10, 3.2, 1024, 1.3
- 3.62.
.ELIF defined(DEBUG) && VERSION > 110
- 3.63.
.ELSE
- 3.64.
.EMPTYFILL $C9
- 3.65.
.ENDASM
- 3.66.
.ENDA
- 3.67.
.ENDB
- 3.68.
.ENDBITS
- 3.69.
.ENDEMUVECTOR
- 3.70.
.ENDE
- 3.71.
.ENDIF
- 3.72.
.ENDME
- 3.73.
.ENDM
- 3.74.
.ENDNATIVEVECTOR
- 3.75.
.ENDRO
- 3.76.
.ENDR
- 3.77.
.ENDSNES
- 3.78.
.ENDST
- 3.79.
.ENDS
- 3.80.
.ENDU
- 3.81.
.ENUM $C000
- 3.82.
.ENUMID ID_1 0
- 3.83.
.EQU IF $FF0F
- 3.84.
.EXHIROM
- 3.85.
.EXPORT work_x
- 3.86.
.FAIL "THE EYE OF MORDOR HAS SEEN US!"
- 3.87.
.FARADDR main, irq_1
- 3.88.
.FASTROM
- 3.89.
.FCLOSE FP_DATABIN
- 3.90.
.FILTER filtermacro 1, 2, "encrypt me"
- 3.91.
.FOPEN "data.bin" FP_DATABIN
- 3.92.
.FREAD FP_DATABIN DATA
- 3.93.
.FSEEK FP_DATABIN 10 START
- 3.94.
.FSIZE FP_DATABIN SIZE
- 3.95.
.FTELL FP_DATABIN POSITION
- 3.96.
.FUNCTION SUM_AB(varA,varB)
- 3.97.
.GBHEADER
- 3.98.
.HEX "a0A0ffDE"
- 3.99.
.HIROM
- 3.100.
.IF DEBUG == 2
- 3.101.
.IFDEF IF
- 3.102.
.IFDEFM \2
- 3.103.
.IFEQ DEBUG 2
- 3.104.
.IFEXISTS "main.s"
- 3.105.
.IFGR DEBUG 2
- 3.106.
.IFGREQ DEBUG 2
- 3.107.
.IFLE DEBUG 2
- 3.108.
.IFLEEQ DEBUG 2
- 3.109.
.IFNDEF IF
- 3.110.
.IFNDEFM \2
- 3.111.
.IFNEQ DEBUG 2
- 3.112.
.INC "cgb_hardware.i"
- 3.113.
.INCBIN "sorority.bin"
- 3.114.
.INCDIR "/usr/programming/gb/include/"
- 3.115.
.INCLUDE "cgb_hardware.i"
- 3.116.
.INDEX 8
- 3.117.
.INPUT NAME
- 3.118.
.LICENSEECODENEW "1A"
- 3.119.
.LICENSEECODEOLD $1A
- 3.120.
.LONG $102030, $405060
- 3.121.
.LOROM
- 3.122.
.MACRO TEST
- 3.123.
.MEMORYMAP
- 3.124.
.NAME "NAME OF THE ROM"
- 3.125.
.NEXTU name
- 3.126.
.NINTENDOLOGO
- 3.127.
.NOWDC
- 3.128.
.ORG $150
- 3.129.
.ORGA $150
- 3.130.
.OUTNAME "other.o"
- 3.131.
.PRINT "Numbers 1 and 10: ", DEC 1, " $", HEX 10, "\n"
- 3.132.
.PRINTT "Here we are...\n"
- 3.133.
.PRINTV DEC DEBUG+1
- 3.134.
.RAMSECTION "Vars" BASE $7E BANK 0 SLOT 1 ALIGN 256 OFFSET 32
- 3.135.
.RAMSIZE 0
- 3.136.
.REDEF IF $0F
- 3.137.
.REDEFINE IF $0F
- 3.138.
.REPEAT 6
- 3.139.
.REPT 6
- 3.140.
.ROMBANKMAP
- 3.141.
.ROMBANKS 2
- 3.142.
.ROMBANKSIZE $4000
- 3.143.
.ROMDMG
- 3.144.
.ROMGBCONLY
- 3.145.
.ROMGBC
- 3.146.
.ROMSGB
- 3.147.
.ROMSIZE 1
- 3.148.
.ROW $ff00, 1, "3"
- 3.149.
.SDSCTAG 1.0, "DUNGEON MAN", "A wild dungeon exploration game", "Ville Helin"
- 3.150.
.SECTION "Init" FORCE
- 3.151.
.SEED 123
- 3.152.
.SEEDRANDOM
- 3.153.
.SHIFT
- 3.154.
.SLOT 1
- 3.155.
.SLOWROM
- 3.156.
.SMC
- 3.157.
.SMDHEADER
- 3.158.
.SMSHEADER
- 3.159.
.SMSTAG
- 3.160.
.SNESEMUVECTOR
- 3.161.
.SNESHEADER
- 3.162.
.SNESNATIVEVECTOR
- 3.163.
.STRINGMAP script "Hello\n"
- 3.164.
.STRINGMAPTABLE script "script.tbl"
- 3.165.
.STRUCT enemy_object
- 3.166.
.SYM SAUSAGE
- 3.167.
.SYMBOL SAUSAGE
- 3.168.
.TABLE byte, word, byte
- 3.169.
.UNBACKGROUND $1000 $1FFF
- 3.170.
.UNDEF DEBUG
- 3.171.
.UNDEFINE DEBUG
- 3.172.
.UNION name
- 3.173.
.VERSION 1
- 3.174.
.WDC
- 3.175.
.WHILE COUNTER > 0
- 3.176.
.WORD 16000, 10, 255
- 4. Assembler Syntax
- 5. Error Messages
- 6. Supported ROM/RAM/Cartridge Types (WLA-GB)
- 7. Bugs
- 8. Files
- 9. Functions
- 10. Temporary Files
- 11. Compiling
- 12. Linking
- 13. Arithmetics
- 14. Binary to DB Conversion
- 15. Things you should know about coding for…
- 16. WLA Flags
- 17. Extra compile time definitions
- 18. Good things to know about WLA
- 19. WLA DX’s architectural overview
- 20. WLA Symbols
- 21. Legal Note