├── L1Demo-C-example └── L1DemoProto.X │ ├── nbproject │ ├── project.properties │ ├── private │ │ ├── private.properties │ │ ├── private.xml │ │ └── configurations.xml │ ├── Makefile-genesis.properties │ ├── Makefile-variables.mk │ ├── project.xml │ ├── Package-default.bash │ ├── Makefile-local-default.mk │ ├── Makefile-impl.mk │ └── Makefile-default.mk │ ├── ipu │ ├── rawimg │ ├── rawimg.cmp │ ├── testimage.png │ ├── inflate.pl │ ├── deflate.pl │ ├── stringpack.pl │ ├── makeraw.c │ └── README.md │ ├── build │ └── default │ │ └── production │ │ ├── main.o.d │ │ └── main.o │ ├── README.md │ ├── dist │ └── default │ │ └── production │ │ ├── L1DemoProto.X.production.elf │ │ └── L1DemoProto.X.production.map │ ├── build.sh │ ├── 8bpp-colors.pl │ ├── Makefile │ ├── music.h │ ├── 320x240-hack │ └── main.c │ ├── 80x480-double │ └── main.c │ ├── clut │ └── main.c │ ├── testgfx.h │ └── arko rotate │ ├── fonts.h │ └── main.c ├── L1Demo-asm-example ├── L1Demo-asm.X │ ├── nbproject │ │ ├── project.properties │ │ ├── private │ │ │ ├── private.properties │ │ │ ├── private.xml │ │ │ └── configurations.xml │ │ ├── Makefile-genesis.properties │ │ ├── Makefile-variables.mk │ │ ├── project.xml │ │ ├── Package-default.bash │ │ ├── Makefile-local-default.mk │ │ ├── Makefile-impl.mk │ │ └── Makefile-default.mk │ ├── build │ │ └── default │ │ │ └── production │ │ │ └── _ext │ │ │ └── 1472 │ │ │ ├── L1Demo-sam.o.d │ │ │ └── L1Demo-sam.o │ ├── dist │ │ └── default │ │ │ └── production │ │ │ ├── L1Demo-asm.X.production.elf │ │ │ └── L1Demo-asm.X.production.map │ └── Makefile ├── L1Demo-asm.mcw ├── L1Demo-asm.mcs ├── macros.inc ├── L1Demo-asm.mcp └── Fonts.inc ├── L1Demo-asm-Leo_audio └── L1Demo-asm │ ├── L1Demo-asm.X │ ├── nbproject │ │ ├── project.properties │ │ ├── private │ │ │ ├── private.properties │ │ │ ├── private.xml │ │ │ └── configurations.xml │ │ ├── Makefile-genesis.properties │ │ ├── Makefile-variables.mk │ │ ├── project.xml │ │ ├── Package-default.bash │ │ ├── Makefile-local-default.mk │ │ ├── Makefile-impl.mk │ │ └── Makefile-default.mk │ ├── build │ │ └── default │ │ │ └── production │ │ │ └── _ext │ │ │ └── 1472 │ │ │ ├── L1Demo-sam.o.d │ │ │ └── L1Demo-sam.o │ ├── dist │ │ └── default │ │ │ └── production │ │ │ ├── L1Demo-asm.X.production.elf │ │ │ └── L1Demo-asm.X.production.map │ └── Makefile │ ├── L1Demo-asm.mcw │ ├── L1Demo-asm.mcs │ ├── macros.inc │ ├── L1Demo-asm.mcp │ └── Fonts.inc ├── L1Demo-PCB ├── L1Demoscene_v4.pdf ├── L1Demoboard_BOM.xlsx ├── arko_l1demo_partlist.xlsx └── L1Demoscene_panelized │ ├── pnl-panel_outline.gm1 │ ├── pnl-panel_V-cut.gbr │ ├── pnl-panel_pins-NPTH.txt │ └── pnl_bottom_soldermask.gbs ├── L1Demo-asm-example_v8 ├── L1Demo-sam.o ├── L1Demo-asm.cof ├── L1Demo-asm.map ├── L1Demo-asm.mcw ├── macros.inc ├── L1Demo-asm.mcp ├── L1Demo-asm.mcs └── Fonts.inc ├── L1Demo-asm-Leo_v8_audio └── L1Demo-asm │ ├── L1Demo-asm.cof │ ├── L1Demo-asm.map │ ├── L1Demo-asm.mcw │ ├── L1Demo-sam.o │ ├── macros.inc │ ├── L1Demo-asm.mcp │ ├── L1Demo-asm.mcs │ └── Fonts.inc ├── .gitattributes └── .gitignore /L1Demo-C-example/L1DemoProto.X/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/private/private.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/private/private.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/private/private.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /L1Demo-PCB/L1Demoscene_v4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-PCB/L1Demoscene_v4.pdf -------------------------------------------------------------------------------- /L1Demo-PCB/L1Demoboard_BOM.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-PCB/L1Demoboard_BOM.xlsx -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.mcw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-example/L1Demo-asm.mcw -------------------------------------------------------------------------------- /L1Demo-asm-example_v8/L1Demo-sam.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-example_v8/L1Demo-sam.o -------------------------------------------------------------------------------- /L1Demo-PCB/arko_l1demo_partlist.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-PCB/arko_l1demo_partlist.xlsx -------------------------------------------------------------------------------- /L1Demo-asm-example_v8/L1Demo-asm.cof: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-example_v8/L1Demo-asm.cof -------------------------------------------------------------------------------- /L1Demo-asm-example_v8/L1Demo-asm.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-example_v8/L1Demo-asm.map -------------------------------------------------------------------------------- /L1Demo-asm-example_v8/L1Demo-asm.mcw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-example_v8/L1Demo-asm.mcw -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/ipu/rawimg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-C-example/L1DemoProto.X/ipu/rawimg -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/ipu/rawimg.cmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-C-example/L1DemoProto.X/ipu/rawimg.cmp -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.mcw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.mcw -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/ipu/testimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-C-example/L1DemoProto.X/ipu/testimage.png -------------------------------------------------------------------------------- /L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-asm.cof: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-asm.cof -------------------------------------------------------------------------------- /L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-asm.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-asm.map -------------------------------------------------------------------------------- /L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-asm.mcw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-asm.mcw -------------------------------------------------------------------------------- /L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-sam.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-sam.o -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/build/default/production/main.o.d: -------------------------------------------------------------------------------- 1 | build/default/production/main.o: \ 2 | main.c \ 3 | fonts.h \ 4 | music.h \ 5 | sprites.h \ 6 | screens.h 7 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/build/default/production/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-C-example/L1DemoProto.X/build/default/production/main.o -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/ipu/inflate.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use warnings; 4 | use strict; 5 | 6 | use IO::Uncompress::RawInflate qw(rawinflate); 7 | 8 | rawinflate "-" => "-"; 9 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/build/default/production/_ext/1472/L1Demo-sam.o.d: -------------------------------------------------------------------------------- 1 | build/default/production/_ext/1472/L1Demo-sam.o: \ 2 | ../Fonts.inc \ 3 | ../macros.inc \ 4 | ../L1Demo-sam.s 5 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/build/default/production/_ext/1472/L1Demo-sam.o.d: -------------------------------------------------------------------------------- 1 | build/default/production/_ext/1472/L1Demo-sam.o: \ 2 | ../Fonts.inc \ 3 | ../macros.inc \ 4 | ../L1Demo-sam.s 5 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/build/default/production/_ext/1472/L1Demo-sam.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-example/L1Demo-asm.X/build/default/production/_ext/1472/L1Demo-sam.o -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/README.md: -------------------------------------------------------------------------------- 1 | # Layer 1 demo board code 2 | 3 | This is where I'll be dumping my L1 Demo code as I slowly cobble it together. 4 | See https://github.com/arkorobotics/L1DemosceneBoard for more examples. 5 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/dist/default/production/L1DemoProto.X.production.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-C-example/L1DemoProto.X/dist/default/production/L1DemoProto.X.production.elf -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/dist/default/production/L1DemoProto.X.production.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-C-example/L1DemoProto.X/dist/default/production/L1DemoProto.X.production.map -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/dist/default/production/L1Demo-asm.X.production.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-example/L1Demo-asm.X/dist/default/production/L1Demo-asm.X.production.elf -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/dist/default/production/L1Demo-asm.X.production.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-example/L1Demo-asm.X/dist/default/production/L1Demo-asm.X.production.map -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/build/default/production/_ext/1472/L1Demo-sam.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/build/default/production/_ext/1472/L1Demo-sam.o -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/dist/default/production/L1Demo-asm.X.production.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/dist/default/production/L1Demo-asm.X.production.elf -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/dist/default/production/L1Demo-asm.X.production.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arkorobotics/L1DemosceneBoard/HEAD/L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/dist/default/production/L1Demo-asm.X.production.map -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/ipu/deflate.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use warnings; 4 | use strict; 5 | 6 | use IO::Compress::RawDeflate qw(rawdeflate :level :strategy); 7 | 8 | rawdeflate "-" => "-", -Level => Z_BEST_COMPRESSION, -Strategy => Z_FIXED; 9 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/ipu/stringpack.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use warnings; 4 | use strict; 5 | 6 | my $x = 0; 7 | while(defined(my $c = getc())) { 8 | $c = unpack("C", $c) 9 | printf "0x%x,", $c; 10 | if(++$x > 8) { 11 | $x = 0; 12 | printf "\n"; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /L1Demo-PCB/L1Demoscene_panelized/pnl-panel_outline.gm1: -------------------------------------------------------------------------------- 1 | G75* 2 | G70* 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00100*% 11 | D10* 12 | X0010000Y-026516D02* 13 | X0010000Y0243366D01* 14 | X1191100Y0243366D01* 15 | X1191100Y-026516D01* 16 | X0010000Y-026516D01* 17 | M02* 18 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.mcs: -------------------------------------------------------------------------------- 1 | [Header] 2 | MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7} 3 | Version=1.0 4 | [TOOL_LOC_STAMPS] 5 | tool_loc{DE18EB1A-B46B-486B-B96F-A811A635DFAC}=C:\Program Files (x86)\Microchip\MPLAB ASM30 Suite\bin\pic30-as.exe 6 | tool_loc{433C3D55-811D-409D-A6BF-159CF9355B42}=C:\Program Files\Microchip\mplabc30\v3.31\bin\pic30-ld.exe 7 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.mcs: -------------------------------------------------------------------------------- 1 | [Header] 2 | MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7} 3 | Version=1.0 4 | [TOOL_LOC_STAMPS] 5 | tool_loc{DE18EB1A-B46B-486B-B96F-A811A635DFAC}=C:\Program Files (x86)\Microchip\MPLAB ASM30 Suite\bin\pic30-as.exe 6 | tool_loc{433C3D55-811D-409D-A6BF-159CF9355B42}=C:\Program Files\Microchip\mplabc30\v3.31\bin\pic30-ld.exe 7 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/private/private.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | file:/C:/Users/arko/Documents/GitHub/L1DemosceneBoard/L1Demo-asm-example/L1Demo-sam.s 5 | 6 | 7 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/Makefile-genesis.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Sat Feb 14 15:28:17 PST 2015 3 | default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=50eeab13277454ff034a57c2ebde7ed0 4 | default.languagetoolchain.dir=C\:\\Program Files (x86)\\Microchip\\xc16\\v1.21\\bin 5 | com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=ac168ab0a9b512659ad42bb497aabd51 6 | default.languagetoolchain.version=1.21 7 | host.platform=windows 8 | conf.ids=default 9 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/Makefile-genesis.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Thu Jan 01 14:25:05 PST 2015 3 | default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=50eeab13277454ff034a57c2ebde7ed0 4 | default.languagetoolchain.dir=C\:\\Program Files (x86)\\Microchip\\xc16\\v1.21\\bin 5 | com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=ac168ab0a9b512659ad42bb497aabd51 6 | default.languagetoolchain.version=1.21 7 | host.platform=windows 8 | conf.ids=default 9 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/Makefile-genesis.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Thu Jan 01 14:25:36 PST 2015 3 | default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=50eeab13277454ff034a57c2ebde7ed0 4 | default.languagetoolchain.dir=C\:\\Program Files (x86)\\Microchip\\xc16\\v1.21\\bin 5 | com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=ac168ab0a9b512659ad42bb497aabd51 6 | default.languagetoolchain.version=1.21 7 | host.platform=windows 8 | conf.ids=default 9 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/private/private.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | file:/C:/Users/arko/Desktop/Tesla/nsl/LayerOne_2015/Demoscene/Code/L1Demo-asm-Leo/L1Demo-asm/L1Demo-sam.s 5 | 6 | 7 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/Makefile-variables.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated - do not edit! 3 | # 4 | # NOCDDL 5 | # 6 | CND_BASEDIR=`pwd` 7 | # default configuration 8 | CND_ARTIFACT_DIR_default=dist/default/production 9 | CND_ARTIFACT_NAME_default=L1DemoProto.X.production.hex 10 | CND_ARTIFACT_PATH_default=dist/default/production/L1DemoProto.X.production.hex 11 | CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package 12 | CND_PACKAGE_NAME_default=l1demoproto.x.tar 13 | CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/l1demoproto.x.tar 14 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/Makefile-variables.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated - do not edit! 3 | # 4 | # NOCDDL 5 | # 6 | CND_BASEDIR=`pwd` 7 | # default configuration 8 | CND_ARTIFACT_DIR_default=dist/default/production 9 | CND_ARTIFACT_NAME_default=L1Demo-asm.X.production.hex 10 | CND_ARTIFACT_PATH_default=dist/default/production/L1Demo-asm.X.production.hex 11 | CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package 12 | CND_PACKAGE_NAME_default=l1demo-asm.x.tar 13 | CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/l1demo-asm.x.tar 14 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/Makefile-variables.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated - do not edit! 3 | # 4 | # NOCDDL 5 | # 6 | CND_BASEDIR=`pwd` 7 | # default configuration 8 | CND_ARTIFACT_DIR_default=dist/default/production 9 | CND_ARTIFACT_NAME_default=L1Demo-asm.X.production.hex 10 | CND_ARTIFACT_PATH_default=dist/default/production/L1Demo-asm.X.production.hex 11 | CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package 12 | CND_PACKAGE_NAME_default=l1demo-asm.x.tar 13 | CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/l1demo-asm.x.tar 14 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/private/private.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | file:/C:/Users/arko/Documents/GitHub/L1DemosceneBoard/L1Demo-C-example/L1DemoProto.X/main.c 5 | file:/C:/Users/arko/Documents/GitHub/L1DemosceneBoard/L1Demo-C-example/L1DemoProto.X/music.h 6 | 7 | 8 | -------------------------------------------------------------------------------- /L1Demo-asm-example/macros.inc: -------------------------------------------------------------------------------- 1 | .macro GPU_QUEUE_EMPTY_WAIT ; wait until GFX queue is empty 2 | btsc G1STAT, #PUBUSY 3 | bra $-2 4 | .endm 5 | 6 | .macro CHECK_GPU_QUEUE 7 | nop ; need one instruction cycle delay if immediate instruction before was writing to G1CMDH 8 | btsc G1STAT, #CMDFUL ; check if GFX queue 9 | bra $-2 10 | .endm 11 | 12 | .macro CHR_PRINT_POSITION x, y 13 | CHECK_GPU_QUEUE ; macro inside macro 14 | mov #(((\y)&0xF)<<12)+(\x), w0 15 | mov w0,G1CMDL 16 | mov #CHR_PRINTPOS+(\y)>>4, w0 17 | mov w0,G1CMDH 18 | .endm 19 | -------------------------------------------------------------------------------- /L1Demo-asm-example_v8/macros.inc: -------------------------------------------------------------------------------- 1 | .macro GPU_QUEUE_EMPTY_WAIT ; wait until GFX queue is empty 2 | btsc G1STAT, #PUBUSY 3 | bra $-2 4 | .endm 5 | 6 | .macro CHECK_GPU_QUEUE 7 | nop ; need one instruction cycle delay if immediate instruction before was writing to G1CMDH 8 | btsc G1STAT, #CMDFUL ; check if GFX queue 9 | bra $-2 10 | .endm 11 | 12 | .macro CHR_PRINT_POSITION x, y 13 | CHECK_GPU_QUEUE ; macro inside macro 14 | mov #(((\y)&0xF)<<12)+(\x), w0 15 | mov w0,G1CMDL 16 | mov #CHR_PRINTPOS+(\y)>>4, w0 17 | mov w0,G1CMDH 18 | .endm 19 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/macros.inc: -------------------------------------------------------------------------------- 1 | .macro GPU_QUEUE_EMPTY_WAIT ; wait until GFX queue is empty 2 | btsc G1STAT, #PUBUSY 3 | bra $-2 4 | .endm 5 | 6 | .macro CHECK_GPU_QUEUE 7 | nop ; need one instruction cycle delay if immediate instruction before was writing to G1CMDH 8 | btsc G1STAT, #CMDFUL ; check if GFX queue 9 | bra $-2 10 | .endm 11 | 12 | .macro CHR_PRINT_POSITION x, y 13 | CHECK_GPU_QUEUE ; macro inside macro 14 | mov #(((\y)&0xF)<<12)+(\x), w0 15 | mov w0,G1CMDL 16 | mov #CHR_PRINTPOS+(\y)>>4, w0 17 | mov w0,G1CMDH 18 | .endm 19 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_v8_audio/L1Demo-asm/macros.inc: -------------------------------------------------------------------------------- 1 | .macro GPU_QUEUE_EMPTY_WAIT ; wait until GFX queue is empty 2 | btsc G1STAT, #PUBUSY 3 | bra $-2 4 | .endm 5 | 6 | .macro CHECK_GPU_QUEUE 7 | nop ; need one instruction cycle delay if immediate instruction before was writing to G1CMDH 8 | btsc G1STAT, #CMDFUL ; check if GFX queue 9 | bra $-2 10 | .endm 11 | 12 | .macro CHR_PRINT_POSITION x, y 13 | CHECK_GPU_QUEUE ; macro inside macro 14 | mov #(((\y)&0xF)<<12)+(\x), w0 15 | mov w0,G1CMDL 16 | mov #CHR_PRINTPOS+(\y)>>4, w0 17 | mov w0,G1CMDH 18 | .endm 19 | -------------------------------------------------------------------------------- /L1Demo-PCB/L1Demoscene_panelized/pnl-panel_V-cut.gbr: -------------------------------------------------------------------------------- 1 | G75* 2 | G70* 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00100*% 11 | D10* 12 | X0010000Y0010000D02* 13 | X1191100Y0010000D01* 14 | X0010000Y0206850D02* 15 | X1191100Y0206850D01* 16 | X0206850Y-026516D02* 17 | X0206850Y0243366D01* 18 | X0403700Y-026516D02* 19 | X0403700Y0243366D01* 20 | X0600550Y-026516D02* 21 | X0600550Y0243366D01* 22 | X0797400Y-026516D02* 23 | X0797400Y0243366D01* 24 | X0994250Y-026516D02* 25 | X0994250Y0243366D01* 26 | X1191100Y-026516D02* 27 | X1191100Y0243366D01* 28 | M02* 29 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # I stole these commands from MPLAB X so I didn't have to keep running it 4 | set -x 5 | 6 | /opt/microchip/xc16/v1.23/bin/xc16-gcc main.c -o main.o -c -mcpu=24FJ256DA206 -MMD -MF main.o.d -mno-eds-warn -g -omf=elf -mlarge-arrays -O0 -msmart-io=1 -Wall -msfr-warn=off && 7 | /opt/microchip/xc16/v1.23/bin/xc16-gcc -o production.elf main.o -mcpu=24FJ256DA206 -omf=elf -mlarge-arrays -Wl,--local-stack,--defsym=__MPLAB_BUILD=1,,--script=p24FJ256DA206.gld,--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map=production.map,--report-mem && 8 | /opt/microchip/xc16/v1.23/bin/xc16-bin2hex production.elf -a -omf=elf 9 | 10 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/8bpp-colors.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use warnings; 4 | use strict; 5 | 6 | # convert 8-bit to 24-bit using info from 7 | # http://stackoverflow.com/questions/2442576/how-does-one-convert-16-bit-rgb565-to-24-bit-rgb888 8 | 9 | my $c = 0; 10 | while($c <= 0xFF) { 11 | my @bits = split(//, unpack("b8", chr($c))); 12 | my $r5 = $bits[7]<<4 | $bits[6]<<3 | $bits[5]<<2 | $bits[5]<<1 | $bits[5]; 13 | my $g6 = $bits[4]<<5 | $bits[3]<<4 | $bits[2]<<3 | $bits[2]<<2 | $bits[2]<<1 | $bits[2]; 14 | my $b5 = $bits[1]<<4 | $bits[0]<<3 | $bits[0]<<2 | $bits[0]<<1 | $bits[0]; 15 | 16 | my $r8 = 255/31 * $r5; 17 | my $g8 = 255/63 * $g6; 18 | my $b8 = 255/31 * $b5; 19 | 20 | printf("0x%02x = #%02x%02x%02x\n", $c, $r8, $g8, $b8); 21 | 22 | $c++; 23 | } 24 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | com.microchip.mplab.nbide.embedded.makeproject 3 | 4 | 5 | L1Demo-asm 6 | daf95d7c-805c-44d0-8d07-92d2c4fecf69 7 | 0 8 | 9 | 10 | 11 | inc 12 | ISO-8859-1 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # ========================= 18 | # Operating System Files 19 | # ========================= 20 | 21 | # OSX 22 | # ========================= 23 | 24 | .DS_Store 25 | .AppleDouble 26 | .LSOverride 27 | 28 | # Icon must end with two \r 29 | Icon 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Directories potentially created on remote AFP share 39 | .AppleDB 40 | .AppleDesktop 41 | Network Trash Folder 42 | Temporary Items 43 | .apdisk 44 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | com.microchip.mplab.nbide.embedded.makeproject 3 | 4 | 5 | L1DemoProto 6 | 5c428e8b-58de-493c-88f4-95e24dd6b18b 7 | 0 8 | c 9 | 10 | h 11 | 12 | ISO-8859-1 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | com.microchip.mplab.nbide.embedded.makeproject 3 | 4 | 5 | L1Demo-asm 6 | daf95d7c-805c-44d0-8d07-92d2c4fecf69 7 | 0 8 | 9 | 10 | 11 | inc 12 | ISO-8859-1 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /L1Demo-PCB/L1Demoscene_panelized/pnl-panel_pins-NPTH.txt: -------------------------------------------------------------------------------- 1 | M48 2 | INCH,TZ 3 | M72 4 | T06C0.035400 5 | % 6 | T07C0.047200 7 | % 8 | T08C0.100394 9 | % 10 | T06 11 | X1600Y17109 12 | X1600Y18291 13 | X21285Y17109 14 | X21285Y18291 15 | X40970Y17109 16 | X40970Y18291 17 | X60655Y17109 18 | X60655Y18291 19 | X80340Y17109 20 | X80340Y18291 21 | X100025Y17109 22 | X100025Y18291 23 | T07 24 | X19400Y15531 25 | X20385Y15531 26 | X17432Y17500 27 | X19400Y19469 28 | X20385Y19469 29 | X39085Y15531 30 | X40070Y15531 31 | X37117Y17500 32 | X39085Y19469 33 | X40070Y19469 34 | X58770Y15531 35 | X59755Y15531 36 | X56802Y17500 37 | X58770Y19469 38 | X59755Y19469 39 | X78455Y15531 40 | X79440Y15531 41 | X76487Y17500 42 | X78455Y19469 43 | X79440Y19469 44 | X98140Y15531 45 | X99125Y15531 46 | X96172Y17500 47 | X98140Y19469 48 | X99125Y19469 49 | X117825Y15531 50 | X118810Y15531 51 | X115857Y17500 52 | X117825Y19469 53 | X118810Y19469 54 | T08 55 | X2968Y-968 56 | X2968Y22653 57 | X117141Y-968 58 | X117141Y22653 59 | M30 60 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/private/configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Makefile 4 | 0 5 | 6 | 7 | :=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>900A:=<rev>0002:=<man>:=<prod>:=<sn>?:=<drv>x:=end 8 | C:\Program Files (x86)\Microchip\xc16\v1.21\bin 9 | 10 | place holder 1 11 | place holder 2 12 | 13 | 14 | 15 | 16 | true 17 | 0 18 | 0 19 | 0 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/private/configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Makefile 4 | 0 5 | 6 | 7 | :=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>900A:=<rev>0002:=<man>:=<prod>:=<sn>?:=<drv>x:=end 8 | C:\Program Files (x86)\Microchip\xc16\v1.21\bin 9 | 10 | place holder 1 11 | place holder 2 12 | 13 | 14 | 15 | 16 | true 17 | 0 18 | 0 19 | 0 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/ipu/makeraw.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "testimage.c" 5 | 6 | int colors[4]; 7 | int nextcolor = 0; 8 | 9 | int main() { 10 | unsigned char *head = gimp_image.pixel_data; 11 | char packin = 0; 12 | int pb = 0; 13 | while(head - gimp_image.pixel_data < sizeof(gimp_image.pixel_data)) { 14 | int color = head[0] << 16 | head[1] << 8 | head[2]; 15 | int x; 16 | for(x = 0; x < nextcolor; x++) { 17 | if(colors[x] == color) { 18 | break; 19 | } 20 | } 21 | if(x > 3) { 22 | fprintf(stderr, "Too many colors\n"); 23 | for(x = 0; x < nextcolor; x++) { 24 | fprintf(stderr, "%d = %x\n", x, colors[x]); 25 | } 26 | fprintf(stderr, "next = %x\n", color); 27 | exit(1); 28 | } 29 | if(x == nextcolor) { 30 | colors[x] = color; 31 | nextcolor++; 32 | } 33 | packin |= (x & 0x3) << pb; 34 | pb += 2; 35 | if(pb > 6) { 36 | putchar(packin); 37 | packin = 0; 38 | pb = 0; 39 | } 40 | 41 | head += gimp_image.bytes_per_pixel; 42 | } 43 | 44 | int x; 45 | for(x = 0; x < nextcolor; x++) { 46 | fprintf(stderr, "%d = %x\n", x, colors[x]); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/private/configurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Makefile 4 | 0 5 | 6 | 7 | :=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>900A:=<rev>0002:=<man>Microchip Technology Inc.:=<prod>PICkit 3:=<sn>BUR132282398:=<drv>x:=end 8 | C:\Program Files (x86)\Microchip\xc16\v1.21\bin 9 | 10 | place holder 1 11 | place holder 2 12 | 13 | 14 | 15 | 16 | true 17 | 0 18 | 0 19 | 0 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /L1Demo-asm-example_v8/L1Demo-asm.mcp: -------------------------------------------------------------------------------- 1 | [HEADER] 2 | magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13} 3 | file_version=1.0 4 | device=PIC24FJ256DA206 5 | [PATH_INFO] 6 | BuildDirPolicy=BuildDirIsProjectDir 7 | dir_src= 8 | dir_bin= 9 | dir_tmp= 10 | dir_sin= 11 | dir_inc= 12 | dir_lib= 13 | dir_lkr= 14 | [CAT_FILTERS] 15 | filter_src=*.s;*.c 16 | filter_inc=*.h;*.inc 17 | filter_obj=*.o 18 | filter_lib=*.a 19 | filter_lkr=*.gld 20 | [CAT_SUBFOLDERS] 21 | subfolder_src= 22 | subfolder_inc= 23 | subfolder_obj= 24 | subfolder_lib= 25 | subfolder_lkr= 26 | [FILE_SUBFOLDERS] 27 | file_000=. 28 | file_001=. 29 | file_002=. 30 | [GENERATED_FILES] 31 | file_000=no 32 | file_001=no 33 | file_002=no 34 | [OTHER_FILES] 35 | file_000=no 36 | file_001=no 37 | file_002=no 38 | [FILE_INFO] 39 | file_000=L1Demo-sam.s 40 | file_001=macros.inc 41 | file_002=Fonts.inc 42 | [SUITE_INFO] 43 | suite_guid={9BCCB495-CD65-480A-BA76-63D8E78B117F} 44 | suite_state= 45 | [TOOL_SETTINGS] 46 | TS{8493B2ED-D539-4951-86C9-24D5331F0393}=-g 47 | TS{F9CE474D-6A6C-401D-A11E-BEE01B244D79}=-g -Wall 48 | TS{21A8AA9B-E75C-40B6-B3AE-9CBC16FF2EF9}=-o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" -Map="$(BINDIR_)$(TARGETBASE).map" --report-mem 49 | TS{45B3B6E0-6DAF-4E40-8D20-CFB1B620134D}= 50 | [INSTRUMENTED_TRACE] 51 | enable=0 52 | transport=0 53 | format=0 54 | [CUSTOM_BUILD] 55 | Pre-Build= 56 | Pre-BuildEnabled=1 57 | Post-Build= 58 | Post-BuildEnabled=1 59 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-asm.mcp: -------------------------------------------------------------------------------- 1 | [HEADER] 2 | magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13} 3 | file_version=1.0 4 | device=PIC24FJ256DA206 5 | [PATH_INFO] 6 | BuildDirPolicy=BuildDirIsProjectDir 7 | dir_src= 8 | dir_bin= 9 | dir_tmp= 10 | dir_sin= 11 | dir_inc= 12 | dir_lib= 13 | dir_lkr= 14 | [CAT_FILTERS] 15 | filter_src=*.s;*.c 16 | filter_inc=*.h;*.inc 17 | filter_obj=*.o 18 | filter_lib=*.a 19 | filter_lkr=*.gld 20 | [CAT_SUBFOLDERS] 21 | subfolder_src= 22 | subfolder_inc= 23 | subfolder_obj= 24 | subfolder_lib= 25 | subfolder_lkr= 26 | [FILE_SUBFOLDERS] 27 | file_000=. 28 | file_001=. 29 | file_002=. 30 | [GENERATED_FILES] 31 | file_000=no 32 | file_001=no 33 | file_002=no 34 | [OTHER_FILES] 35 | file_000=no 36 | file_001=no 37 | file_002=no 38 | [FILE_INFO] 39 | file_000=L1Demo-sam.s 40 | file_001=macros.inc 41 | file_002=Fonts.inc 42 | [SUITE_INFO] 43 | suite_guid={9BCCB495-CD65-480A-BA76-63D8E78B117F} 44 | suite_state= 45 | [TOOL_SETTINGS] 46 | TS{8493B2ED-D539-4951-86C9-24D5331F0393}=-g 47 | TS{F9CE474D-6A6C-401D-A11E-BEE01B244D79}=-g -Wall 48 | TS{21A8AA9B-E75C-40B6-B3AE-9CBC16FF2EF9}=-o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" -Map="$(BINDIR_)$(TARGETBASE).map" --report-mem 49 | TS{45B3B6E0-6DAF-4E40-8D20-CFB1B620134D}= 50 | [INSTRUMENTED_TRACE] 51 | enable=0 52 | transport=0 53 | format=0 54 | [CUSTOM_BUILD] 55 | Pre-Build= 56 | Pre-BuildEnabled=1 57 | Post-Build= 58 | Post-BuildEnabled=1 59 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/ipu/README.md: -------------------------------------------------------------------------------- 1 | # IPU Tools 2 | 3 | The PIC24F supports a subset of the RFC1951 DEFLATE compression algorithm. 4 | These scripts can be used to convert an image to a compressed form that can be 5 | decompressed by the IPU. 6 | 7 | Note: Currently produces 2bpp images. 8 | 9 | ## Converting an image into a raw format for the PIC24F 10 | 11 | 1. First, take your image into GIMP (or equivalent). Use `Image -> Mode -> 12 | Indexed...` to set the image to only have 3 indexed colors. 13 | 2. Now use `File -> Export As...` to export it as a C source file (in my case, 14 | testimage.c). Make sure to uncheck "use glib types". 15 | 3. Modify makeraw.c to include the file you just saved. Compile makeraw.c 16 | (`gcc -o makeraw makeraw.c`) and run it, redirecting output (`./makeraw > 17 | rawimg`). It will print the index -> color mapping to stderr. 18 | 4. The image is now suitable for our framebuffer! 19 | 20 | ## Compressing 21 | 22 | If you want to see results immediately, you can skip this step and dump it 23 | right into the framebuffer. 24 | 25 | 1. Use deflate.pl to compress the raw image (`deflate.pl < rawimg > 26 | rawimg.cmp`). 27 | 28 | ## Putting it in the PIC24F 29 | 30 | 1. To get it into the source code, I made stringpack.pl to C array-ify a file. 31 | So we hit it with that (`./stringpack.pl < rawimg`), and copy-paste the output 32 | into our source file inbetween the braces: 33 | ``` 34 | __eds__ uint8_t gfx_compressed[] __attribute__((space(eds))) = { 35 | // HERE! 36 | }; 37 | ``` 38 | 2. Now it's ready for the IPU to decompress it onto the framebuffer, or 39 | anywhere else. 40 | 41 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.mcp: -------------------------------------------------------------------------------- 1 | [HEADER] 2 | magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13} 3 | file_version=1.0 4 | device=PIC24FJ256DA206 5 | [PATH_INFO] 6 | BuildDirPolicy=BuildDirIsProjectDir 7 | dir_src= 8 | dir_bin= 9 | dir_tmp= 10 | dir_sin= 11 | dir_inc= 12 | dir_lib= 13 | dir_lkr= 14 | [CAT_FILTERS] 15 | filter_src=*.s;*.c 16 | filter_inc=*.h;*.inc 17 | filter_obj=*.o 18 | filter_lib=*.a 19 | filter_lkr=*.gld 20 | [CAT_SUBFOLDERS] 21 | subfolder_src= 22 | subfolder_inc= 23 | subfolder_obj= 24 | subfolder_lib= 25 | subfolder_lkr= 26 | [FILE_SUBFOLDERS] 27 | file_000=. 28 | file_001=. 29 | file_002=. 30 | file_003=. 31 | file_004=. 32 | [GENERATED_FILES] 33 | file_000=no 34 | file_001=no 35 | file_002=no 36 | file_003=no 37 | file_004=no 38 | [OTHER_FILES] 39 | file_000=no 40 | file_001=no 41 | file_002=no 42 | file_003=no 43 | file_004=no 44 | [FILE_INFO] 45 | file_000=L1Demo-sam.s 46 | file_001=C:\Program Files\Microchip\MPLAB ASM30 Suite\Support\PIC24F\inc\p24FJ256DA206.inc 47 | file_002=macros.inc 48 | file_003=Fonts.inc 49 | file_004=C:\Program Files\Microchip\MPLAB ASM30 Suite\Support\PIC24F\gld\p24FJ256DA206.gld 50 | [SUITE_INFO] 51 | suite_guid={479DDE59-4D56-455E-855E-FFF59A3DB57E} 52 | suite_state= 53 | [TOOL_SETTINGS] 54 | TS{7D9C6ECE-785D-44CB-BA22-17BF2E119622}=-g 55 | TS{25AC22BD-2378-4FDB-BFB6-7345A15512D3}=-g -Wall 56 | TS{7DAC9A1D-4C45-45D6-B25A-D117C74E8F5A}=-o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" -Map="$(BINDIR_)$(TARGETBASE).map" --report-mem 57 | TS{509E5861-1E2A-483B-8B6B-CA8DB7F2DD78}= 58 | [INSTRUMENTED_TRACE] 59 | enable=0 60 | transport=0 61 | format=0 62 | [CUSTOM_BUILD] 63 | Pre-Build= 64 | Pre-BuildEnabled=1 65 | Post-Build= 66 | Post-BuildEnabled=1 67 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.mcp: -------------------------------------------------------------------------------- 1 | [HEADER] 2 | magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13} 3 | file_version=1.0 4 | device=PIC24FJ256DA206 5 | [PATH_INFO] 6 | BuildDirPolicy=BuildDirIsProjectDir 7 | dir_src= 8 | dir_bin= 9 | dir_tmp= 10 | dir_sin= 11 | dir_inc= 12 | dir_lib= 13 | dir_lkr= 14 | [CAT_FILTERS] 15 | filter_src=*.s;*.c 16 | filter_inc=*.h;*.inc 17 | filter_obj=*.o 18 | filter_lib=*.a 19 | filter_lkr=*.gld 20 | [CAT_SUBFOLDERS] 21 | subfolder_src= 22 | subfolder_inc= 23 | subfolder_obj= 24 | subfolder_lib= 25 | subfolder_lkr= 26 | [FILE_SUBFOLDERS] 27 | file_000=. 28 | file_001=. 29 | file_002=. 30 | file_003=. 31 | file_004=. 32 | [GENERATED_FILES] 33 | file_000=no 34 | file_001=no 35 | file_002=no 36 | file_003=no 37 | file_004=no 38 | [OTHER_FILES] 39 | file_000=no 40 | file_001=no 41 | file_002=no 42 | file_003=no 43 | file_004=no 44 | [FILE_INFO] 45 | file_000=L1Demo-sam.s 46 | file_001=C:\Program Files\Microchip\MPLAB ASM30 Suite\Support\PIC24F\inc\p24FJ256DA206.inc 47 | file_002=macros.inc 48 | file_003=Fonts.inc 49 | file_004=C:\Program Files\Microchip\MPLAB ASM30 Suite\Support\PIC24F\gld\p24FJ256DA206.gld 50 | [SUITE_INFO] 51 | suite_guid={479DDE59-4D56-455E-855E-FFF59A3DB57E} 52 | suite_state= 53 | [TOOL_SETTINGS] 54 | TS{7D9C6ECE-785D-44CB-BA22-17BF2E119622}=-g 55 | TS{25AC22BD-2378-4FDB-BFB6-7345A15512D3}=-g -Wall 56 | TS{7DAC9A1D-4C45-45D6-B25A-D117C74E8F5A}=-o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" -Map="$(BINDIR_)$(TARGETBASE).map" --report-mem 57 | TS{509E5861-1E2A-483B-8B6B-CA8DB7F2DD78}= 58 | [INSTRUMENTED_TRACE] 59 | enable=0 60 | transport=0 61 | format=0 62 | [CUSTOM_BUILD] 63 | Pre-Build= 64 | Pre-BuildEnabled=1 65 | Post-Build= 66 | Post-BuildEnabled=1 67 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/Package-default.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_CONF=default 10 | CND_DISTDIR=dist 11 | TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging 12 | TMPDIRNAME=tmp-packaging 13 | OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 14 | OUTPUT_BASENAME=L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 15 | PACKAGE_TOP_DIR=l1demo-asm.x/ 16 | 17 | # Functions 18 | function checkReturnCode 19 | { 20 | rc=$? 21 | if [ $rc != 0 ] 22 | then 23 | exit $rc 24 | fi 25 | } 26 | function makeDirectory 27 | # $1 directory path 28 | # $2 permission (optional) 29 | { 30 | mkdir -p "$1" 31 | checkReturnCode 32 | if [ "$2" != "" ] 33 | then 34 | chmod $2 "$1" 35 | checkReturnCode 36 | fi 37 | } 38 | function copyFileToTmpDir 39 | # $1 from-file path 40 | # $2 to-file path 41 | # $3 permission 42 | { 43 | cp "$1" "$2" 44 | checkReturnCode 45 | if [ "$3" != "" ] 46 | then 47 | chmod $3 "$2" 48 | checkReturnCode 49 | fi 50 | } 51 | 52 | # Setup 53 | cd "${TOP}" 54 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/package 55 | rm -rf ${TMPDIR} 56 | mkdir -p ${TMPDIR} 57 | 58 | # Copy files and create directories and links 59 | cd "${TOP}" 60 | makeDirectory ${TMPDIR}/l1demo-asm.x/bin 61 | copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 62 | 63 | 64 | # Generate tar file 65 | cd "${TOP}" 66 | rm -f ${CND_DISTDIR}/${CND_CONF}/package/l1demo-asm.x.tar 67 | cd ${TMPDIR} 68 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/l1demo-asm.x.tar * 69 | checkReturnCode 70 | 71 | # Cleanup 72 | cd "${TOP}" 73 | rm -rf ${TMPDIR} 74 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/Package-default.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_CONF=default 10 | CND_DISTDIR=dist 11 | TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging 12 | TMPDIRNAME=tmp-packaging 13 | OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/L1DemoProto.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 14 | OUTPUT_BASENAME=L1DemoProto.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 15 | PACKAGE_TOP_DIR=l1demoproto.x/ 16 | 17 | # Functions 18 | function checkReturnCode 19 | { 20 | rc=$? 21 | if [ $rc != 0 ] 22 | then 23 | exit $rc 24 | fi 25 | } 26 | function makeDirectory 27 | # $1 directory path 28 | # $2 permission (optional) 29 | { 30 | mkdir -p "$1" 31 | checkReturnCode 32 | if [ "$2" != "" ] 33 | then 34 | chmod $2 "$1" 35 | checkReturnCode 36 | fi 37 | } 38 | function copyFileToTmpDir 39 | # $1 from-file path 40 | # $2 to-file path 41 | # $3 permission 42 | { 43 | cp "$1" "$2" 44 | checkReturnCode 45 | if [ "$3" != "" ] 46 | then 47 | chmod $3 "$2" 48 | checkReturnCode 49 | fi 50 | } 51 | 52 | # Setup 53 | cd "${TOP}" 54 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/package 55 | rm -rf ${TMPDIR} 56 | mkdir -p ${TMPDIR} 57 | 58 | # Copy files and create directories and links 59 | cd "${TOP}" 60 | makeDirectory ${TMPDIR}/l1demoproto.x/bin 61 | copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 62 | 63 | 64 | # Generate tar file 65 | cd "${TOP}" 66 | rm -f ${CND_DISTDIR}/${CND_CONF}/package/l1demoproto.x.tar 67 | cd ${TMPDIR} 68 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/l1demoproto.x.tar * 69 | checkReturnCode 70 | 71 | # Cleanup 72 | cd "${TOP}" 73 | rm -rf ${TMPDIR} 74 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/Package-default.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | # 4 | # Generated - do not edit! 5 | # 6 | 7 | # Macros 8 | TOP=`pwd` 9 | CND_CONF=default 10 | CND_DISTDIR=dist 11 | TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging 12 | TMPDIRNAME=tmp-packaging 13 | OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 14 | OUTPUT_BASENAME=L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 15 | PACKAGE_TOP_DIR=l1demo-asm.x/ 16 | 17 | # Functions 18 | function checkReturnCode 19 | { 20 | rc=$? 21 | if [ $rc != 0 ] 22 | then 23 | exit $rc 24 | fi 25 | } 26 | function makeDirectory 27 | # $1 directory path 28 | # $2 permission (optional) 29 | { 30 | mkdir -p "$1" 31 | checkReturnCode 32 | if [ "$2" != "" ] 33 | then 34 | chmod $2 "$1" 35 | checkReturnCode 36 | fi 37 | } 38 | function copyFileToTmpDir 39 | # $1 from-file path 40 | # $2 to-file path 41 | # $3 permission 42 | { 43 | cp "$1" "$2" 44 | checkReturnCode 45 | if [ "$3" != "" ] 46 | then 47 | chmod $3 "$2" 48 | checkReturnCode 49 | fi 50 | } 51 | 52 | # Setup 53 | cd "${TOP}" 54 | mkdir -p ${CND_DISTDIR}/${CND_CONF}/package 55 | rm -rf ${TMPDIR} 56 | mkdir -p ${TMPDIR} 57 | 58 | # Copy files and create directories and links 59 | cd "${TOP}" 60 | makeDirectory ${TMPDIR}/l1demo-asm.x/bin 61 | copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 62 | 63 | 64 | # Generate tar file 65 | cd "${TOP}" 66 | rm -f ${CND_DISTDIR}/${CND_CONF}/package/l1demo-asm.x.tar 67 | cd ${TMPDIR} 68 | tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/l1demo-asm.x.tar * 69 | checkReturnCode 70 | 71 | # Cleanup 72 | cd "${TOP}" 73 | rm -rf ${TMPDIR} 74 | -------------------------------------------------------------------------------- /L1Demo-asm-example_v8/L1Demo-asm.mcs: -------------------------------------------------------------------------------- 1 | [Header] 2 | MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7} 3 | Version=1.0 4 | [File000] 5 | Location=C:\Users\arko\Documents\GitHub\L1DemosceneBoard\L1Demo-asm-example_v8\L1Demo-sam.o 6 | Folder=Intermediary 7 | DeviceName=PIC24FJ256DA206 8 | LanguageToolSuiteID={9BCCB495-CD65-480A-BA76-63D8E78B117F} 9 | LanguageToolID={C6E07232-414F-4A0C-AF99-CD44E2B71960} 10 | LanguageToolLocation=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-as.exe 11 | PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| 12 | SOLK=|L1Demo-sam.s|||||||| 13 | SuiteArgsString= 14 | ToolArgsString=-g 15 | TraceCmdString= 16 | DebugOptions= 17 | [File001] 18 | Location=C:\Users\arko\Documents\GitHub\L1DemosceneBoard\L1Demo-asm-example_v8\L1Demo-asm.cof 19 | Folder=Output 20 | DeviceName=PIC24FJ256DA206 21 | LanguageToolSuiteID={9BCCB495-CD65-480A-BA76-63D8E78B117F} 22 | LanguageToolID={6836D8CA-42BB-48FB-9E77-3F0AA8005073} 23 | LanguageToolLocation=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-ld.exe 24 | PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| 25 | SOLK=|L1Demo-sam.s|||||||| 26 | SuiteArgsString= 27 | ToolArgsString=-o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" -Map="$(BINDIR_)$(TARGETBASE).map" --report-mem 28 | TraceCmdString= 29 | DebugOptions= 30 | [File002] 31 | Location=C:\Users\arko\Documents\GitHub\L1DemosceneBoard\L1Demo-asm-example_v8\L1Demo-asm.hex 32 | Folder=Output 33 | DeviceName=PIC24FJ256DA206 34 | LanguageToolSuiteID={9BCCB495-CD65-480A-BA76-63D8E78B117F} 35 | LanguageToolID={6836D8CA-42BB-48FB-9E77-3F0AA8005073} 36 | LanguageToolLocation=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-ld.exe 37 | PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| 38 | SOLK=|L1Demo-sam.s|||||||| 39 | SuiteArgsString= 40 | ToolArgsString=-o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" -Map="$(BINDIR_)$(TARGETBASE).map" --report-mem 41 | TraceCmdString= 42 | DebugOptions= 43 | [TOOL_LOC_STAMPS] 44 | tool_loc{C6E07232-414F-4A0C-AF99-CD44E2B71960}=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-as.exe 45 | tool_loc{6836D8CA-42BB-48FB-9E77-3F0AA8005073}=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-ld.exe 46 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/Makefile-local-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # 5 | # This file contains information about the location of compilers and other tools. 6 | # If you commmit this file into your revision control server, you will be able to 7 | # to checkout the project and build it from the command line with make. However, 8 | # if more than one person works on the same project, then this file might show 9 | # conflicts since different users are bound to have compilers in different places. 10 | # In that case you might choose to not commit this file and let MPLAB X recreate this file 11 | # for each user. The disadvantage of not commiting this file is that you must run MPLAB X at 12 | # least once so the file gets created and the project can be built. Finally, you can also 13 | # avoid using this file at all if you are only building from the command line with make. 14 | # You can invoke make with the values of the macros: 15 | # $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ... 16 | # 17 | SHELL=cmd.exe 18 | PATH_TO_IDE_BIN=C:/Program Files (x86)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/ 19 | # Adding MPLAB X bin directory to path. 20 | PATH:=C:/Program Files (x86)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/:$(PATH) 21 | # Path to java used to run MPLAB X when this makefile was created 22 | MP_JAVA_PATH="C:\Program Files (x86)\Microchip\MPLABX\sys\java\jre1.7.0_25-windows-x64\java-windows/bin/" 23 | OS_CURRENT="$(shell uname -s)" 24 | MP_CC="C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-gcc.exe" 25 | # MP_CPPC is not defined 26 | # MP_BC is not defined 27 | MP_AS="C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-as.exe" 28 | # MP_LD is not defined 29 | MP_AR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-ar.exe" 30 | DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar" 31 | MP_CC_DIR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin" 32 | # MP_CPPC_DIR is not defined 33 | # MP_BC_DIR is not defined 34 | MP_AS_DIR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin" 35 | # MP_LD_DIR is not defined 36 | MP_AR_DIR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin" 37 | # MP_BC_DIR is not defined 38 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/Makefile-local-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # 5 | # This file contains information about the location of compilers and other tools. 6 | # If you commmit this file into your revision control server, you will be able to 7 | # to checkout the project and build it from the command line with make. However, 8 | # if more than one person works on the same project, then this file might show 9 | # conflicts since different users are bound to have compilers in different places. 10 | # In that case you might choose to not commit this file and let MPLAB X recreate this file 11 | # for each user. The disadvantage of not commiting this file is that you must run MPLAB X at 12 | # least once so the file gets created and the project can be built. Finally, you can also 13 | # avoid using this file at all if you are only building from the command line with make. 14 | # You can invoke make with the values of the macros: 15 | # $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ... 16 | # 17 | SHELL=cmd.exe 18 | PATH_TO_IDE_BIN=C:/Program Files (x86)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/ 19 | # Adding MPLAB X bin directory to path. 20 | PATH:=C:/Program Files (x86)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/:$(PATH) 21 | # Path to java used to run MPLAB X when this makefile was created 22 | MP_JAVA_PATH="C:\Program Files (x86)\Microchip\MPLABX\sys\java\jre1.7.0_25-windows-x64\java-windows/bin/" 23 | OS_CURRENT="$(shell uname -s)" 24 | MP_CC="C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-gcc.exe" 25 | # MP_CPPC is not defined 26 | # MP_BC is not defined 27 | MP_AS="C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-as.exe" 28 | # MP_LD is not defined 29 | MP_AR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-ar.exe" 30 | DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar" 31 | MP_CC_DIR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin" 32 | # MP_CPPC_DIR is not defined 33 | # MP_BC_DIR is not defined 34 | MP_AS_DIR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin" 35 | # MP_LD_DIR is not defined 36 | MP_AR_DIR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin" 37 | # MP_BC_DIR is not defined 38 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/Makefile-impl.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a pre- and a post- target defined where you can add customization code. 6 | # 7 | # This makefile implements macros and targets common to all configurations. 8 | # 9 | # NOCDDL 10 | 11 | 12 | # Building and Cleaning subprojects are done by default, but can be controlled with the SUB 13 | # macro. If SUB=no, subprojects will not be built or cleaned. The following macro 14 | # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf 15 | # and .clean-reqprojects-conf unless SUB has the value 'no' 16 | SUB_no=NO 17 | SUBPROJECTS=${SUB_${SUB}} 18 | BUILD_SUBPROJECTS_=.build-subprojects 19 | BUILD_SUBPROJECTS_NO= 20 | BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} 21 | CLEAN_SUBPROJECTS_=.clean-subprojects 22 | CLEAN_SUBPROJECTS_NO= 23 | CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} 24 | 25 | 26 | # Project Name 27 | PROJECTNAME=L1DemoProto.X 28 | 29 | # Active Configuration 30 | DEFAULTCONF=default 31 | CONF=${DEFAULTCONF} 32 | 33 | # All Configurations 34 | ALLCONFS=default 35 | 36 | 37 | # build 38 | .build-impl: .build-pre 39 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf 40 | 41 | 42 | # clean 43 | .clean-impl: .clean-pre 44 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf 45 | 46 | # clobber 47 | .clobber-impl: .clobber-pre .depcheck-impl 48 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean 49 | 50 | 51 | 52 | # all 53 | .all-impl: .all-pre .depcheck-impl 54 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build 55 | 56 | 57 | 58 | # dependency checking support 59 | .depcheck-impl: 60 | # @echo "# This code depends on make tool being used" >.dep.inc 61 | # @if [ -n "${MAKE_VERSION}" ]; then \ 62 | # echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ 63 | # echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ 64 | # echo "include \$${DEPFILES}" >>.dep.inc; \ 65 | # echo "endif" >>.dep.inc; \ 66 | # else \ 67 | # echo ".KEEP_STATE:" >>.dep.inc; \ 68 | # echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ 69 | # fi 70 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/Makefile-impl.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a pre- and a post- target defined where you can add customization code. 6 | # 7 | # This makefile implements macros and targets common to all configurations. 8 | # 9 | # NOCDDL 10 | 11 | 12 | # Building and Cleaning subprojects are done by default, but can be controlled with the SUB 13 | # macro. If SUB=no, subprojects will not be built or cleaned. The following macro 14 | # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf 15 | # and .clean-reqprojects-conf unless SUB has the value 'no' 16 | SUB_no=NO 17 | SUBPROJECTS=${SUB_${SUB}} 18 | BUILD_SUBPROJECTS_=.build-subprojects 19 | BUILD_SUBPROJECTS_NO= 20 | BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} 21 | CLEAN_SUBPROJECTS_=.clean-subprojects 22 | CLEAN_SUBPROJECTS_NO= 23 | CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} 24 | 25 | 26 | # Project Name 27 | PROJECTNAME=L1Demo-asm.X 28 | 29 | # Active Configuration 30 | DEFAULTCONF=default 31 | CONF=${DEFAULTCONF} 32 | 33 | # All Configurations 34 | ALLCONFS=default 35 | 36 | 37 | # build 38 | .build-impl: .build-pre 39 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf 40 | 41 | 42 | # clean 43 | .clean-impl: .clean-pre 44 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf 45 | 46 | # clobber 47 | .clobber-impl: .clobber-pre .depcheck-impl 48 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean 49 | 50 | 51 | 52 | # all 53 | .all-impl: .all-pre .depcheck-impl 54 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build 55 | 56 | 57 | 58 | # dependency checking support 59 | .depcheck-impl: 60 | # @echo "# This code depends on make tool being used" >.dep.inc 61 | # @if [ -n "${MAKE_VERSION}" ]; then \ 62 | # echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ 63 | # echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ 64 | # echo "include \$${DEPFILES}" >>.dep.inc; \ 65 | # echo "endif" >>.dep.inc; \ 66 | # else \ 67 | # echo ".KEEP_STATE:" >>.dep.inc; \ 68 | # echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ 69 | # fi 70 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/Makefile-local-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # 5 | # This file contains information about the location of compilers and other tools. 6 | # If you commmit this file into your revision control server, you will be able to 7 | # to checkout the project and build it from the command line with make. However, 8 | # if more than one person works on the same project, then this file might show 9 | # conflicts since different users are bound to have compilers in different places. 10 | # In that case you might choose to not commit this file and let MPLAB X recreate this file 11 | # for each user. The disadvantage of not commiting this file is that you must run MPLAB X at 12 | # least once so the file gets created and the project can be built. Finally, you can also 13 | # avoid using this file at all if you are only building from the command line with make. 14 | # You can invoke make with the values of the macros: 15 | # $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ... 16 | # 17 | SHELL=cmd.exe 18 | PATH_TO_IDE_BIN=C:/Program Files (x86)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/ 19 | # Adding MPLAB X bin directory to path. 20 | PATH:=C:/Program Files (x86)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/:$(PATH) 21 | # Path to java used to run MPLAB X when this makefile was created 22 | MP_JAVA_PATH="C:\Program Files (x86)\Microchip\MPLABX\sys\java\jre1.7.0_25-windows-x64\java-windows/bin/" 23 | OS_CURRENT="$(shell uname -s)" 24 | MP_CC="C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-gcc.exe" 25 | # MP_CPPC is not defined 26 | # MP_BC is not defined 27 | MP_AS="C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-as.exe" 28 | # MP_LD is not defined 29 | MP_AR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-ar.exe" 30 | DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar" 31 | MP_CC_DIR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin" 32 | # MP_CPPC_DIR is not defined 33 | # MP_BC_DIR is not defined 34 | MP_AS_DIR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin" 35 | # MP_LD_DIR is not defined 36 | MP_AR_DIR="C:\Program Files (x86)\Microchip\xc16\v1.21\bin" 37 | # MP_BC_DIR is not defined 38 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/Makefile-impl.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a pre- and a post- target defined where you can add customization code. 6 | # 7 | # This makefile implements macros and targets common to all configurations. 8 | # 9 | # NOCDDL 10 | 11 | 12 | # Building and Cleaning subprojects are done by default, but can be controlled with the SUB 13 | # macro. If SUB=no, subprojects will not be built or cleaned. The following macro 14 | # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf 15 | # and .clean-reqprojects-conf unless SUB has the value 'no' 16 | SUB_no=NO 17 | SUBPROJECTS=${SUB_${SUB}} 18 | BUILD_SUBPROJECTS_=.build-subprojects 19 | BUILD_SUBPROJECTS_NO= 20 | BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} 21 | CLEAN_SUBPROJECTS_=.clean-subprojects 22 | CLEAN_SUBPROJECTS_NO= 23 | CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} 24 | 25 | 26 | # Project Name 27 | PROJECTNAME=L1Demo-asm.X 28 | 29 | # Active Configuration 30 | DEFAULTCONF=default 31 | CONF=${DEFAULTCONF} 32 | 33 | # All Configurations 34 | ALLCONFS=default 35 | 36 | 37 | # build 38 | .build-impl: .build-pre 39 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf 40 | 41 | 42 | # clean 43 | .clean-impl: .clean-pre 44 | ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf 45 | 46 | # clobber 47 | .clobber-impl: .clobber-pre .depcheck-impl 48 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean 49 | 50 | 51 | 52 | # all 53 | .all-impl: .all-pre .depcheck-impl 54 | ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build 55 | 56 | 57 | 58 | # dependency checking support 59 | .depcheck-impl: 60 | # @echo "# This code depends on make tool being used" >.dep.inc 61 | # @if [ -n "${MAKE_VERSION}" ]; then \ 62 | # echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ 63 | # echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ 64 | # echo "include \$${DEPFILES}" >>.dep.inc; \ 65 | # echo "endif" >>.dep.inc; \ 66 | # else \ 67 | # echo ".KEEP_STATE:" >>.dep.inc; \ 68 | # echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ 69 | # fi 70 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_v8_audio/L1Demo-asm/L1Demo-asm.mcs: -------------------------------------------------------------------------------- 1 | [Header] 2 | MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7} 3 | Version=1.0 4 | [File000] 5 | Location=C:\Users\arko\Desktop\Tesla\nsl\LayerOne_2015\Demoscene\Code\L1Demo-asm-Leo_v8_audio\L1Demo-asm\L1Demo-sam.o 6 | Folder=Intermediary 7 | DeviceName=PIC24FJ256DA206 8 | LanguageToolSuiteID={9BCCB495-CD65-480A-BA76-63D8E78B117F} 9 | LanguageToolID={C6E07232-414F-4A0C-AF99-CD44E2B71960} 10 | LanguageToolLocation=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-as.exe 11 | PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| 12 | SOLK=|L1Demo-sam.s|||||||| 13 | SuiteArgsString= 14 | ToolArgsString=-g 15 | TraceCmdString= 16 | DebugOptions= 17 | [File001] 18 | Location=C:\Users\arko\Desktop\Tesla\nsl\LayerOne_2015\Demoscene\Code\L1Demo-asm-Leo_v8_audio\L1Demo-asm\L1Demo-asm.cof 19 | Folder=Output 20 | DeviceName=PIC24FJ256DA206 21 | LanguageToolSuiteID={9BCCB495-CD65-480A-BA76-63D8E78B117F} 22 | LanguageToolID={6836D8CA-42BB-48FB-9E77-3F0AA8005073} 23 | LanguageToolLocation=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-ld.exe 24 | PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| 25 | SOLK=|L1Demo-sam.s|||||||| 26 | SuiteArgsString= 27 | ToolArgsString=-o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" -Map="$(BINDIR_)$(TARGETBASE).map" --report-mem 28 | TraceCmdString= 29 | DebugOptions= 30 | [File002] 31 | Location=C:\Users\arko\Desktop\Tesla\nsl\LayerOne_2015\Demoscene\Code\L1Demo-asm-Leo_v8_audio\L1Demo-asm\L1Demo-asm.hex 32 | Folder=Output 33 | DeviceName=PIC24FJ256DA206 34 | LanguageToolSuiteID={9BCCB495-CD65-480A-BA76-63D8E78B117F} 35 | LanguageToolID={6836D8CA-42BB-48FB-9E77-3F0AA8005073} 36 | LanguageToolLocation=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-ld.exe 37 | PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)||$(LKRDIR)|| 38 | SOLK=|L1Demo-sam.s|||||||| 39 | SuiteArgsString= 40 | ToolArgsString=-o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" -Map="$(BINDIR_)$(TARGETBASE).map" --report-mem 41 | TraceCmdString= 42 | DebugOptions= 43 | [TOOL_LOC_STAMPS] 44 | tool_loc{C6E07232-414F-4A0C-AF99-CD44E2B71960}=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-as.exe 45 | tool_loc{6836D8CA-42BB-48FB-9E77-3F0AA8005073}=C:\Program Files (x86)\Microchip\xc16\v1.21\bin\xc16-ld.exe 46 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # There exist several targets which are by default empty and which can be 3 | # used for execution of your targets. These targets are usually executed 4 | # before and after some main targets. They are: 5 | # 6 | # .build-pre: called before 'build' target 7 | # .build-post: called after 'build' target 8 | # .clean-pre: called before 'clean' target 9 | # .clean-post: called after 'clean' target 10 | # .clobber-pre: called before 'clobber' target 11 | # .clobber-post: called after 'clobber' target 12 | # .all-pre: called before 'all' target 13 | # .all-post: called after 'all' target 14 | # .help-pre: called before 'help' target 15 | # .help-post: called after 'help' target 16 | # 17 | # Targets beginning with '.' are not intended to be called on their own. 18 | # 19 | # Main targets can be executed directly, and they are: 20 | # 21 | # build build a specific configuration 22 | # clean remove built files from a configuration 23 | # clobber remove all built files 24 | # all build all configurations 25 | # help print help mesage 26 | # 27 | # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and 28 | # .help-impl are implemented in nbproject/makefile-impl.mk. 29 | # 30 | # Available make variables: 31 | # 32 | # CND_BASEDIR base directory for relative paths 33 | # CND_DISTDIR default top distribution directory (build artifacts) 34 | # CND_BUILDDIR default top build directory (object files, ...) 35 | # CONF name of current configuration 36 | # CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) 37 | # CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) 38 | # CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) 39 | # CND_PACKAGE_DIR_${CONF} directory of package (current configuration) 40 | # CND_PACKAGE_NAME_${CONF} name of package (current configuration) 41 | # CND_PACKAGE_PATH_${CONF} path to package (current configuration) 42 | # 43 | # NOCDDL 44 | 45 | 46 | # Environment 47 | MKDIR=mkdir 48 | CP=cp 49 | CCADMIN=CCadmin 50 | RANLIB=ranlib 51 | 52 | 53 | # build 54 | build: .build-post 55 | 56 | .build-pre: 57 | # Add your pre 'build' code here... 58 | 59 | .build-post: .build-impl 60 | # Add your post 'build' code here... 61 | 62 | 63 | # clean 64 | clean: .clean-post 65 | 66 | .clean-pre: 67 | # Add your pre 'clean' code here... 68 | # WARNING: the IDE does not call this target since it takes a long time to 69 | # simply run make. Instead, the IDE removes the configuration directories 70 | # under build and dist directly without calling make. 71 | # This target is left here so people can do a clean when running a clean 72 | # outside the IDE. 73 | 74 | .clean-post: .clean-impl 75 | # Add your post 'clean' code here... 76 | 77 | 78 | # clobber 79 | clobber: .clobber-post 80 | 81 | .clobber-pre: 82 | # Add your pre 'clobber' code here... 83 | 84 | .clobber-post: .clobber-impl 85 | # Add your post 'clobber' code here... 86 | 87 | 88 | # all 89 | all: .all-post 90 | 91 | .all-pre: 92 | # Add your pre 'all' code here... 93 | 94 | .all-post: .all-impl 95 | # Add your post 'all' code here... 96 | 97 | 98 | # help 99 | help: .help-post 100 | 101 | .help-pre: 102 | # Add your pre 'help' code here... 103 | 104 | .help-post: .help-impl 105 | # Add your post 'help' code here... 106 | 107 | 108 | 109 | # include project implementation makefile 110 | include nbproject/Makefile-impl.mk 111 | 112 | # include project make variables 113 | include nbproject/Makefile-variables.mk 114 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # There exist several targets which are by default empty and which can be 3 | # used for execution of your targets. These targets are usually executed 4 | # before and after some main targets. They are: 5 | # 6 | # .build-pre: called before 'build' target 7 | # .build-post: called after 'build' target 8 | # .clean-pre: called before 'clean' target 9 | # .clean-post: called after 'clean' target 10 | # .clobber-pre: called before 'clobber' target 11 | # .clobber-post: called after 'clobber' target 12 | # .all-pre: called before 'all' target 13 | # .all-post: called after 'all' target 14 | # .help-pre: called before 'help' target 15 | # .help-post: called after 'help' target 16 | # 17 | # Targets beginning with '.' are not intended to be called on their own. 18 | # 19 | # Main targets can be executed directly, and they are: 20 | # 21 | # build build a specific configuration 22 | # clean remove built files from a configuration 23 | # clobber remove all built files 24 | # all build all configurations 25 | # help print help mesage 26 | # 27 | # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and 28 | # .help-impl are implemented in nbproject/makefile-impl.mk. 29 | # 30 | # Available make variables: 31 | # 32 | # CND_BASEDIR base directory for relative paths 33 | # CND_DISTDIR default top distribution directory (build artifacts) 34 | # CND_BUILDDIR default top build directory (object files, ...) 35 | # CONF name of current configuration 36 | # CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) 37 | # CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) 38 | # CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) 39 | # CND_PACKAGE_DIR_${CONF} directory of package (current configuration) 40 | # CND_PACKAGE_NAME_${CONF} name of package (current configuration) 41 | # CND_PACKAGE_PATH_${CONF} path to package (current configuration) 42 | # 43 | # NOCDDL 44 | 45 | 46 | # Environment 47 | MKDIR=mkdir 48 | CP=cp 49 | CCADMIN=CCadmin 50 | RANLIB=ranlib 51 | 52 | 53 | # build 54 | build: .build-post 55 | 56 | .build-pre: 57 | # Add your pre 'build' code here... 58 | 59 | .build-post: .build-impl 60 | # Add your post 'build' code here... 61 | 62 | 63 | # clean 64 | clean: .clean-post 65 | 66 | .clean-pre: 67 | # Add your pre 'clean' code here... 68 | # WARNING: the IDE does not call this target since it takes a long time to 69 | # simply run make. Instead, the IDE removes the configuration directories 70 | # under build and dist directly without calling make. 71 | # This target is left here so people can do a clean when running a clean 72 | # outside the IDE. 73 | 74 | .clean-post: .clean-impl 75 | # Add your post 'clean' code here... 76 | 77 | 78 | # clobber 79 | clobber: .clobber-post 80 | 81 | .clobber-pre: 82 | # Add your pre 'clobber' code here... 83 | 84 | .clobber-post: .clobber-impl 85 | # Add your post 'clobber' code here... 86 | 87 | 88 | # all 89 | all: .all-post 90 | 91 | .all-pre: 92 | # Add your pre 'all' code here... 93 | 94 | .all-post: .all-impl 95 | # Add your post 'all' code here... 96 | 97 | 98 | # help 99 | help: .help-post 100 | 101 | .help-pre: 102 | # Add your pre 'help' code here... 103 | 104 | .help-post: .help-impl 105 | # Add your post 'help' code here... 106 | 107 | 108 | 109 | # include project implementation makefile 110 | include nbproject/Makefile-impl.mk 111 | 112 | # include project make variables 113 | include nbproject/Makefile-variables.mk 114 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # There exist several targets which are by default empty and which can be 3 | # used for execution of your targets. These targets are usually executed 4 | # before and after some main targets. They are: 5 | # 6 | # .build-pre: called before 'build' target 7 | # .build-post: called after 'build' target 8 | # .clean-pre: called before 'clean' target 9 | # .clean-post: called after 'clean' target 10 | # .clobber-pre: called before 'clobber' target 11 | # .clobber-post: called after 'clobber' target 12 | # .all-pre: called before 'all' target 13 | # .all-post: called after 'all' target 14 | # .help-pre: called before 'help' target 15 | # .help-post: called after 'help' target 16 | # 17 | # Targets beginning with '.' are not intended to be called on their own. 18 | # 19 | # Main targets can be executed directly, and they are: 20 | # 21 | # build build a specific configuration 22 | # clean remove built files from a configuration 23 | # clobber remove all built files 24 | # all build all configurations 25 | # help print help mesage 26 | # 27 | # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and 28 | # .help-impl are implemented in nbproject/makefile-impl.mk. 29 | # 30 | # Available make variables: 31 | # 32 | # CND_BASEDIR base directory for relative paths 33 | # CND_DISTDIR default top distribution directory (build artifacts) 34 | # CND_BUILDDIR default top build directory (object files, ...) 35 | # CONF name of current configuration 36 | # CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) 37 | # CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) 38 | # CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) 39 | # CND_PACKAGE_DIR_${CONF} directory of package (current configuration) 40 | # CND_PACKAGE_NAME_${CONF} name of package (current configuration) 41 | # CND_PACKAGE_PATH_${CONF} path to package (current configuration) 42 | # 43 | # NOCDDL 44 | 45 | 46 | # Environment 47 | MKDIR=mkdir 48 | CP=cp 49 | CCADMIN=CCadmin 50 | RANLIB=ranlib 51 | 52 | 53 | # build 54 | build: .build-post 55 | 56 | .build-pre: 57 | # Add your pre 'build' code here... 58 | 59 | .build-post: .build-impl 60 | # Add your post 'build' code here... 61 | 62 | 63 | # clean 64 | clean: .clean-post 65 | 66 | .clean-pre: 67 | # Add your pre 'clean' code here... 68 | # WARNING: the IDE does not call this target since it takes a long time to 69 | # simply run make. Instead, the IDE removes the configuration directories 70 | # under build and dist directly without calling make. 71 | # This target is left here so people can do a clean when running a clean 72 | # outside the IDE. 73 | 74 | .clean-post: .clean-impl 75 | # Add your post 'clean' code here... 76 | 77 | 78 | # clobber 79 | clobber: .clobber-post 80 | 81 | .clobber-pre: 82 | # Add your pre 'clobber' code here... 83 | 84 | .clobber-post: .clobber-impl 85 | # Add your post 'clobber' code here... 86 | 87 | 88 | # all 89 | all: .all-post 90 | 91 | .all-pre: 92 | # Add your pre 'all' code here... 93 | 94 | .all-post: .all-impl 95 | # Add your post 'all' code here... 96 | 97 | 98 | # help 99 | help: .help-post 100 | 101 | .help-pre: 102 | # Add your pre 'help' code here... 103 | 104 | .help-post: .help-impl 105 | # Add your post 'help' code here... 106 | 107 | 108 | 109 | # include project implementation makefile 110 | include nbproject/Makefile-impl.mk 111 | 112 | # include project make variables 113 | include nbproject/Makefile-variables.mk 114 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/music.h: -------------------------------------------------------------------------------- 1 | /* For close to A4: 16Mhz / (440Hz*256 samples) =~ 0x8E */ 2 | /* did all the math for the rest of the freqs found at: 3 | http://www.phy.mtu.edu/~suits/notefreqs.html 4 | */ 5 | #define NOTES_C0 0xeee 6 | #define NOTES_Db0 0xe18 7 | #define NOTES_D0 0xd4d 8 | #define NOTES_Eb0 0xc8d 9 | #define NOTES_E0 0xbd9 10 | #define NOTES_F0 0xb2f 11 | #define NOTES_Gb0 0xa8f 12 | #define NOTES_G0 0x9f7 13 | #define NOTES_Ab0 0x967 14 | #define NOTES_A0 0x8e0 15 | #define NOTES_Bb0 0x860 16 | #define NOTES_B0 0x7e8 17 | #define NOTES_C1 0x777 18 | #define NOTES_Db1 0x70b 19 | #define NOTES_D1 0x6a6 20 | #define NOTES_Eb1 0x647 21 | #define NOTES_E1 0x5ec 22 | #define NOTES_F1 0x597 23 | #define NOTES_Gb1 0x547 24 | #define NOTES_G1 0x4fb 25 | #define NOTES_Ab1 0x4b4 26 | #define NOTES_A1 0x470 27 | #define NOTES_Bb1 0x430 28 | #define NOTES_B1 0x3f4 29 | #define NOTES_C2 0x3bb 30 | #define NOTES_Db2 0x385 31 | #define NOTES_D2 0x353 32 | #define NOTES_Eb2 0x323 33 | #define NOTES_E2 0x2f6 34 | #define NOTES_F2 0x2cb 35 | #define NOTES_Gb2 0x2a3 36 | #define NOTES_G2 0x27d 37 | #define NOTES_Ab2 0x259 38 | #define NOTES_A2 0x238 39 | #define NOTES_Bb2 0x218 40 | #define NOTES_B2 0x1fa 41 | #define NOTES_C3 0x1dd 42 | #define NOTES_Db3 0x1c2 43 | #define NOTES_D3 0x1a9 44 | #define NOTES_Eb3 0x191 45 | #define NOTES_E3 0x17b 46 | #define NOTES_F3 0x165 47 | #define NOTES_Gb3 0x151 48 | #define NOTES_G3 0x13e 49 | #define NOTES_Ab3 0x12c 50 | #define NOTES_A3 0x11c 51 | #define NOTES_Bb3 0x10c 52 | #define NOTES_B3 0xfd 53 | #define NOTES_C4 0xee 54 | #define NOTES_Db4 0xe1 55 | #define NOTES_D4 0xd4 56 | #define NOTES_Eb4 0xc8 57 | #define NOTES_E4 0xbd 58 | #define NOTES_F4 0xb2 59 | #define NOTES_Gb4 0xa8 60 | #define NOTES_G4 0x9f 61 | #define NOTES_Ab4 0x96 62 | #define NOTES_A4 0x8e 63 | #define NOTES_Bb4 0x86 64 | #define NOTES_B4 0x7e 65 | #define NOTES_C5 0x77 66 | #define NOTES_Db5 0x70 67 | #define NOTES_D5 0x6a 68 | #define NOTES_Eb5 0x64 69 | #define NOTES_E5 0x5e 70 | #define NOTES_F5 0x59 71 | #define NOTES_Gb5 0x54 72 | #define NOTES_G5 0x4f 73 | #define NOTES_Ab5 0x4b 74 | #define NOTES_A5 0x47 75 | #define NOTES_Bb5 0x43 76 | #define NOTES_B5 0x3f 77 | #define NOTES_C6 0x3b 78 | #define NOTES_Db6 0x38 79 | #define NOTES_D6 0x35 80 | #define NOTES_Eb6 0x32 81 | #define NOTES_E6 0x2f 82 | #define NOTES_F6 0x2c 83 | #define NOTES_Gb6 0x2a 84 | #define NOTES_G6 0x27 85 | #define NOTES_Ab6 0x25 86 | #define NOTES_A6 0x23 87 | #define NOTES_Bb6 0x21 88 | #define NOTES_B6 0x1f 89 | #define NOTES_C7 0x1d 90 | #define NOTES_Db7 0x1c 91 | #define NOTES_D7 0x1a 92 | #define NOTES_Eb7 0x19 93 | #define NOTES_E7 0x17 94 | #define NOTES_F7 0x16 95 | #define NOTES_Gb7 0x15 96 | #define NOTES_G7 0x13 97 | #define NOTES_Ab7 0x12 98 | #define NOTES_A7 0x11 99 | #define NOTES_Bb7 0x10 100 | #define NOTES_B7 0x0f 101 | #define NOTES_C8 0x0e 102 | #define NOTES_Db8 0x0e 103 | #define NOTES_D8 0x0d 104 | #define NOTES_Eb8 0x0c 105 | #define NOTES_E8 0x0b 106 | #define NOTES_F8 0x0b 107 | #define NOTES_Gb8 0x0a 108 | #define NOTES_G8 0x09 109 | #define NOTES_Ab8 0x09 110 | #define NOTES_A8 0x08 111 | #define NOTES_Bb8 0x08 112 | #define NOTES_B8 0x07 113 | 114 | const unsigned char sinetable[] = { 115 | 0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x2, 116 | 0x2,0x3,0x4,0x5,0x5,0x6,0x7,0x9, 117 | 0xa,0xb,0xc,0xe,0xf,0x11,0x12,0x14, 118 | 0x15,0x17,0x19,0x1b,0x1d,0x1f,0x21,0x23, 119 | 0x25,0x28,0x2a,0x2c,0x2f,0x31,0x34,0x36, 120 | 0x39,0x3b,0x3e,0x41,0x43,0x46,0x49,0x4c, 121 | 0x4f,0x52,0x55,0x58,0x5a,0x5d,0x61,0x64, 122 | 0x67,0x6a,0x6d,0x70,0x73,0x76,0x79,0x7c, 123 | 0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95, 124 | 0x98,0x9b,0x9e,0xa2,0xa5,0xa7,0xaa,0xad, 125 | 0xb0,0xb3,0xb6,0xb9,0xbc,0xbe,0xc1,0xc4, 126 | 0xc6,0xc9,0xcb,0xce,0xd0,0xd3,0xd5,0xd7, 127 | 0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8, 128 | 0xea,0xeb,0xed,0xee,0xf0,0xf1,0xf3,0xf4, 129 | 0xf5,0xf6,0xf8,0xf9,0xfa,0xfa,0xfb,0xfc, 130 | 0xfd,0xfd,0xfe,0xfe,0xfe,0xff,0xff,0xff, 131 | 0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xfd, 132 | 0xfd,0xfc,0xfb,0xfa,0xfa,0xf9,0xf8,0xf6, 133 | 0xf5,0xf4,0xf3,0xf1,0xf0,0xee,0xed,0xeb, 134 | 0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xde,0xdc, 135 | 0xda,0xd7,0xd5,0xd3,0xd0,0xce,0xcb,0xc9, 136 | 0xc6,0xc4,0xc1,0xbe,0xbc,0xb9,0xb6,0xb3, 137 | 0xb0,0xad,0xaa,0xa7,0xa5,0xa2,0x9e,0x9b, 138 | 0x98,0x95,0x92,0x8f,0x8c,0x89,0x86,0x83, 139 | 0x80,0x7c,0x79,0x76,0x73,0x70,0x6d,0x6a, 140 | 0x67,0x64,0x61,0x5d,0x5a,0x58,0x55,0x52, 141 | 0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b, 142 | 0x39,0x36,0x34,0x31,0x2f,0x2c,0x2a,0x28, 143 | 0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17, 144 | 0x15,0x14,0x12,0x11,0xf,0xe,0xc,0xb, 145 | 0xa,0x9,0x7,0x6,0x5,0x5,0x4,0x3, 146 | 0x2,0x2,0x1,0x1,0x1,0x0,0x0,0x0, 147 | }; -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/320x240-hack/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #define FCY 16000000UL // Instruction cycle frequency, Hz 9 | #include 10 | 11 | _CONFIG1(FWDTEN_OFF & GWRP_OFF & GCP_OFF & JTAGEN_OFF) 12 | _CONFIG2(POSCMOD_HS & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2) 13 | _CONFIG3(ALTPMP_ALTPMPEN & SOSCSEL_EC) 14 | 15 | /* 16 | To change resolutions, use an X modeline generator like: 17 | http://xtiming.sourceforge.net/cgi-bin/xtiming.pl 18 | For example, 80x480@60Hz produces 19 | Modeline "80x480@61" 4.93 80 112 128 160 480 490 495 505 20 | Then we convert it to the values we need: 21 | 22 | 4.93 is the pixel clock in MHz, we need to set CLOCKDIV to match. To pick a 23 | divisor, use page 147 of the data sheet or, uh, this perl one-liner to 24 | generate all of them and pick one that's close: 25 | perl -e '$d = 1; $x = 0; while($x < 128) { printf "%s %.2f\n",$x,96/$d;if($x < 64) { $d += 0.25; } elsif($x < 96) { $d += 0.50 } else { $d += 1 }; $x++}' 26 | 27 | The differences between: 80 112 128 160 480 28 | are H-porch, H-Pulse, H-width 29 | The differences between: 480 490 495 505 30 | are V-porch, V-Pulse, V-width 31 | 32 | Once these values are in, the monitor will display it but it will probably 33 | be misaligned (especially vertically). Play with VENST_FUDGE and 34 | HENST_FUDGE to fix this. 35 | */ 36 | 37 | #define HOR_RES 640UL 38 | #define VER_RES 480UL 39 | #define REAL_HOR_RES 320UL 40 | #define REAL_VER_RES 240UL 41 | #define HOR_FRONT_PORCH 16 42 | #define HOR_PULSE_WIDTH 96 43 | #define HOR_BACK_PORCH 48 44 | #define VER_FRONT_PORCH 11 45 | #define VER_PULSE_WIDTH 2 46 | #define VER_BACK_PORCH 31 47 | #define BPP 8 48 | #define CLOCKDIV 11 49 | #define VENST_FUDGE 1 50 | #define HENST_FUDGE 0 51 | #define VSPOL 0 /* sync polarities */ 52 | #define HSPOL 0 53 | 54 | #define CHR_FGCOLOR 0x5000 55 | #define CHR_BGCOLOR 0x5100 56 | #define CHR_FONTBASE 0x5200 57 | #define CHR_PRINTCHAR 0x5300 58 | #define CHR_TXTAREASTART 0x5800 59 | #define CHR_TXTAREAEND 0x5900 60 | #define CHR_PRINTPOS 0x5A00 61 | #define RCC_SRCADDR 0x6200 62 | #define RCC_DESTADDR 0x6300 63 | #define RCC_RECTSIZE 0x6400 64 | #define RCC_COLOR 0x6600 65 | #define RCC_STARTCOPY 0x6700 66 | #define IPU_SRCADDR 0x7100 67 | #define IPU_DESTADDR 0x7200 68 | #define IPU_DECOMPRESS 0x7400 69 | 70 | #define GFX_BUFFER_SIZE (REAL_HOR_RES * REAL_VER_RES / (8/BPP)) 71 | __eds__ uint8_t GFXDisplayBuffer[GFX_BUFFER_SIZE] __attribute__((eds, section("DISPLAY"))); 72 | 73 | void config_graphics(void) { 74 | _G1CLKSEL = 1; 75 | _GCLKDIV = CLOCKDIV; 76 | 77 | G1DPADRL = (unsigned long)(GFXDisplayBuffer); 78 | G1DPADRH = (unsigned long)(GFXDisplayBuffer); 79 | G1W1ADRL = (unsigned long)(GFXDisplayBuffer); 80 | G1W1ADRH = (unsigned long)(GFXDisplayBuffer); 81 | G1W2ADRL = (unsigned long)(GFXDisplayBuffer); 82 | G1W2ADRH = (unsigned long)(GFXDisplayBuffer); 83 | 84 | _GDBEN = 0xFFFF; 85 | 86 | // Using PIC24F manual section 43 page 37-38 87 | _DPMODE = 1; /* TFT */ 88 | _GDBEN = 0xFFFF; 89 | _DPW = _PUW = REAL_HOR_RES; // Work area and FB size so GPU works 90 | _DPH = _PUH = REAL_VER_RES; 91 | _DPWT = HOR_FRONT_PORCH + HOR_PULSE_WIDTH + HOR_BACK_PORCH + HOR_RES; 92 | _DPHT = VER_FRONT_PORCH + VER_PULSE_WIDTH + VER_BACK_PORCH + VER_RES; 93 | _DPCLKPOL = 0; 94 | _DPENOE = 0; 95 | _DPENPOL = 0; 96 | _DPVSOE = 1; 97 | _DPHSOE = 1; 98 | _DPVSPOL = VSPOL; 99 | _DPHSPOL = HSPOL; 100 | _ACTLINE = _VENST = VER_FRONT_PORCH + VER_PULSE_WIDTH + VER_BACK_PORCH - VENST_FUDGE; 101 | _ACTPIX = _HENST = HOR_FRONT_PORCH + HOR_PULSE_WIDTH + HOR_BACK_PORCH - HENST_FUDGE; 102 | _VSST = VER_FRONT_PORCH; 103 | _HSST = HOR_FRONT_PORCH; 104 | _VSLEN = VER_PULSE_WIDTH; 105 | _HSLEN = HOR_PULSE_WIDTH; 106 | _DPPWROE = 0; 107 | _DPPINOE = 1; 108 | _DPPOWER = 1; 109 | _DPBPP = _PUBPP = 3; 110 | 111 | 112 | // _DPTEST = 2; /* Uncomment for test patterns */ 113 | 114 | _G1EN = 1; 115 | __delay_ms(1); 116 | } 117 | 118 | void rcc_color(unsigned int color) { 119 | while(_CMDFUL) continue; 120 | G1CMDL = color; 121 | G1CMDH = RCC_COLOR; 122 | Nop(); 123 | } 124 | 125 | void rcc_draw(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { 126 | // destination 127 | while(_CMDFUL) continue; 128 | G1CMDL = x + y*REAL_HOR_RES; 129 | G1CMDH = RCC_DESTADDR | (x + y*REAL_HOR_RES)>>16; 130 | Nop(); 131 | 132 | // size 133 | while(_CMDFUL) continue; 134 | G1CMDL = (w<<12) | h; 135 | G1CMDH = RCC_RECTSIZE | (w>>4); 136 | Nop(); 137 | 138 | // go! 139 | while(_CMDFUL) continue; 140 | G1CMDL = 0xC<<3; 141 | G1CMDH = RCC_STARTCOPY; 142 | Nop(); 143 | } 144 | 145 | void blank_background() { 146 | rcc_color(0); 147 | rcc_draw(0, 0, REAL_HOR_RES, REAL_VER_RES); 148 | } 149 | 150 | int main(void) { 151 | int x; 152 | //OSCCON = 0x0000; 153 | 154 | ANSB = 0x0000; 155 | ANSC = 0x0000; 156 | ANSD = 0x0000; 157 | ANSF = 0x0000; 158 | ANSG = 0x0000; 159 | //TRISE = 0x0000; 160 | 161 | TRISB = 0x0000; 162 | 163 | config_graphics(); 164 | 165 | // clear buffers 166 | blank_background(); 167 | 168 | /* enable vertical blanking interrupts so _VMRGNIF works */ 169 | _VMRGNIE = 1; 170 | 171 | int sweep = 0; 172 | while (1) { 173 | blank_background(); 174 | rcc_color(0xFFFF); 175 | rcc_draw(sweep, 0, 1, REAL_VER_RES); 176 | sweep++; 177 | if(sweep == REAL_HOR_RES - 1) sweep = 0; 178 | while(!_CMDMPT) continue; // Wait for GPU to finish drawing 179 | _VMRGNIF = 0; 180 | while(!_VMRGNIF) continue; // wait for vsync 181 | } 182 | 183 | return 0; 184 | } 185 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/80x480-double/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #define FCY 16000000UL // Instruction cycle frequency, Hz 9 | #include 10 | 11 | _CONFIG1(FWDTEN_OFF & GWRP_OFF & GCP_OFF & JTAGEN_OFF) 12 | _CONFIG2(POSCMOD_HS & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2) 13 | _CONFIG3(ALTPMP_ALTPMPEN & SOSCSEL_EC) 14 | 15 | /* 16 | To change resolutions, use an X modeline generator like: 17 | http://xtiming.sourceforge.net/cgi-bin/xtiming.pl 18 | For example, 80x480@60Hz produces 19 | Modeline "80x480@61" 4.93 80 112 128 160 480 490 495 505 20 | Then we convert it to the values we need: 21 | 22 | 4.93 is the pixel clock in MHz, we need to set CLOCKDIV to match. To pick a 23 | divisor, use page 147 of the data sheet or, uh, this perl one-liner to 24 | generate all of them and pick one that's close: 25 | perl -e '$d = 1; $x = 0; while($x < 128) { printf "%s %.2f\n",$x,96/$d;if($x < 64) { $d += 0.25; } elsif($x < 96) { $d += 0.50 } else { $d += 1 }; $x++}' 26 | 27 | The differences between: 80 112 128 160 480 28 | are H-porch, H-Pulse, H-width 29 | The differences between: 480 490 495 505 30 | are V-porch, V-Pulse, V-width 31 | 32 | Once these values are in, the monitor will display it but it will probably 33 | be misaligned (especially vertically). Play with VENST_FUDGE and 34 | HENST_FUDGE to fix this. 35 | */ 36 | 37 | #define HOR_RES 80UL 38 | #define VER_RES 480UL 39 | #define HOR_FRONT_PORCH 32 40 | #define HOR_PULSE_WIDTH 16 41 | #define HOR_BACK_PORCH 32 42 | #define VER_FRONT_PORCH 10 43 | #define VER_PULSE_WIDTH 5 44 | #define VER_BACK_PORCH 10 45 | #define BPP 8 46 | #define CLOCKDIV 69 47 | #define VENST_FUDGE 1 48 | #define HENST_FUDGE 0 49 | #define VSPOL 0 /* sync polarities */ 50 | #define HSPOL 0 51 | 52 | #define CHR_FGCOLOR 0x5000 53 | #define CHR_BGCOLOR 0x5100 54 | #define CHR_FONTBASE 0x5200 55 | #define CHR_PRINTCHAR 0x5300 56 | #define CHR_TXTAREASTART 0x5800 57 | #define CHR_TXTAREAEND 0x5900 58 | #define CHR_PRINTPOS 0x5A00 59 | #define RCC_SRCADDR 0x6200 60 | #define RCC_DESTADDR 0x6300 61 | #define RCC_RECTSIZE 0x6400 62 | #define RCC_COLOR 0x6600 63 | #define RCC_STARTCOPY 0x6700 64 | #define IPU_SRCADDR 0x7100 65 | #define IPU_DESTADDR 0x7200 66 | #define IPU_DECOMPRESS 0x7400 67 | 68 | #define GFX_BUFFER_SIZE (HOR_RES * VER_RES / (8/BPP)) 69 | __eds__ uint8_t GFXDisplayBuffer[2][GFX_BUFFER_SIZE] __attribute__((eds, section("DISPLAY"))); 70 | 71 | void config_graphics(void) { 72 | _G1CLKSEL = 1; 73 | _GCLKDIV = CLOCKDIV; 74 | 75 | G1DPADRL = (unsigned long)(GFXDisplayBuffer); 76 | G1DPADRH = (unsigned long)(GFXDisplayBuffer); 77 | G1W1ADRL = (unsigned long)(GFXDisplayBuffer); 78 | G1W1ADRH = (unsigned long)(GFXDisplayBuffer); 79 | G1W2ADRL = (unsigned long)(GFXDisplayBuffer); 80 | G1W2ADRH = (unsigned long)(GFXDisplayBuffer); 81 | 82 | _GDBEN = 0xFFFF; 83 | 84 | // Using PIC24F manual section 43 page 37-38 85 | _DPMODE = 1; /* TFT */ 86 | _GDBEN = 0xFFFF; 87 | _DPW = _PUW = HOR_RES; // Work area and FB size so GPU works 88 | _DPH = _PUH = VER_RES; 89 | _DPWT = HOR_FRONT_PORCH + HOR_PULSE_WIDTH + HOR_BACK_PORCH + HOR_RES; 90 | _DPHT = VER_FRONT_PORCH + VER_PULSE_WIDTH + VER_BACK_PORCH + VER_RES; 91 | _DPCLKPOL = 0; 92 | _DPENOE = 0; 93 | _DPENPOL = 0; 94 | _DPVSOE = 1; 95 | _DPHSOE = 1; 96 | _DPVSPOL = VSPOL; 97 | _DPHSPOL = HSPOL; 98 | _ACTLINE = _VENST = VER_FRONT_PORCH + VER_PULSE_WIDTH + VER_BACK_PORCH - VENST_FUDGE; 99 | _ACTPIX = _HENST = HOR_FRONT_PORCH + HOR_PULSE_WIDTH + HOR_BACK_PORCH - HENST_FUDGE; 100 | _VSST = VER_FRONT_PORCH; 101 | _HSST = HOR_FRONT_PORCH; 102 | _VSLEN = VER_PULSE_WIDTH; 103 | _HSLEN = HOR_PULSE_WIDTH; 104 | _DPPWROE = 0; 105 | _DPPINOE = 1; 106 | _DPPOWER = 1; 107 | _DPBPP = _PUBPP = 3; 108 | 109 | 110 | // _DPTEST = 2; /* Uncomment for test patterns */ 111 | 112 | _G1EN = 1; 113 | __delay_ms(1); 114 | } 115 | 116 | void rcc_color(unsigned int color) { 117 | while(_CMDFUL) continue; 118 | G1CMDL = color; 119 | G1CMDH = RCC_COLOR; 120 | Nop(); 121 | } 122 | 123 | void rcc_setdest(__eds__ uint8_t *buf) { 124 | while(!_CMDMPT) continue; // Wait for GPU to finish drawing 125 | G1W2ADRL = (unsigned long)(buf); 126 | G1W2ADRH = (unsigned long)(buf); 127 | } 128 | 129 | void gpu_setfb(__eds__ uint8_t *buf) { 130 | G1DPADRL = (unsigned long)(buf); 131 | G1DPADRH = (unsigned long)(buf); 132 | } 133 | 134 | void rcc_draw(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { 135 | // destination 136 | while(_CMDFUL) continue; 137 | G1CMDL = x + y*HOR_RES; 138 | G1CMDH = RCC_DESTADDR | (x + y*HOR_RES)>>16; 139 | Nop(); 140 | 141 | // size 142 | while(_CMDFUL) continue; 143 | G1CMDL = (w<<12) | h; 144 | G1CMDH = RCC_RECTSIZE | (w>>4); 145 | Nop(); 146 | 147 | // go! 148 | while(_CMDFUL) continue; 149 | G1CMDL = 0xC<<3; 150 | G1CMDH = RCC_STARTCOPY; 151 | Nop(); 152 | } 153 | 154 | void blank_background() { 155 | rcc_color(0); 156 | rcc_draw(0, 0, HOR_RES, VER_RES); 157 | } 158 | 159 | int main(void) { 160 | int x; 161 | //OSCCON = 0x0000; 162 | 163 | ANSB = 0x0000; 164 | ANSC = 0x0000; 165 | ANSD = 0x0000; 166 | ANSF = 0x0000; 167 | ANSG = 0x0000; 168 | //TRISE = 0x0000; 169 | 170 | TRISB = 0x0000; 171 | 172 | config_graphics(); 173 | 174 | // clear buffers 175 | rcc_setdest(GFXDisplayBuffer[0]); 176 | blank_background(); 177 | rcc_setdest(GFXDisplayBuffer[1]); 178 | blank_background(); 179 | 180 | /* enable vertical blanking interrupts so _VMRGNIF works */ 181 | _VMRGNIE = 1; 182 | 183 | int sweep = 0; 184 | int next_fb = 1; 185 | while (1) { 186 | rcc_setdest(GFXDisplayBuffer[next_fb]); 187 | 188 | blank_background(); 189 | rcc_color(0xFFFF); 190 | rcc_draw(sweep, 0, 1, VER_RES); 191 | sweep++; 192 | if(sweep == HOR_RES - 1) sweep = 0; 193 | while(!_CMDMPT) continue; // Wait for GPU to finish drawing 194 | _VMRGNIF = 0; 195 | while(!_VMRGNIF) continue; // wait for vsync 196 | gpu_setfb(GFXDisplayBuffer[next_fb]); 197 | next_fb = !next_fb; 198 | } 199 | 200 | return 0; 201 | } 202 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/nbproject/Makefile-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Include project Makefile 11 | ifeq "${IGNORE_LOCAL}" "TRUE" 12 | # do not include local makefile. User is passing all local related variables already 13 | else 14 | include Makefile 15 | # Include makefile containing local settings 16 | ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk" 17 | include nbproject/Makefile-local-default.mk 18 | endif 19 | endif 20 | 21 | # Environment 22 | MKDIR=gnumkdir -p 23 | RM=rm -f 24 | MV=mv 25 | CP=cp 26 | 27 | # Macros 28 | CND_CONF=default 29 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 30 | IMAGE_TYPE=debug 31 | OUTPUT_SUFFIX=elf 32 | DEBUGGABLE_SUFFIX=elf 33 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/L1DemoProto.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 34 | else 35 | IMAGE_TYPE=production 36 | OUTPUT_SUFFIX=hex 37 | DEBUGGABLE_SUFFIX=elf 38 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/L1DemoProto.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 39 | endif 40 | 41 | # Object Directory 42 | OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} 43 | 44 | # Distribution Directory 45 | DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} 46 | 47 | # Source Files Quoted if spaced 48 | SOURCEFILES_QUOTED_IF_SPACED=main.c 49 | 50 | # Object Files Quoted if spaced 51 | OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.o 52 | POSSIBLE_DEPFILES=${OBJECTDIR}/main.o.d 53 | 54 | # Object Files 55 | OBJECTFILES=${OBJECTDIR}/main.o 56 | 57 | # Source Files 58 | SOURCEFILES=main.c 59 | 60 | 61 | CFLAGS= 62 | ASFLAGS= 63 | LDLIBSOPTIONS= 64 | 65 | ############# Tool locations ########################################## 66 | # If you copy a project from one host to another, the path where the # 67 | # compiler is installed may be different. # 68 | # If you open this project with MPLAB X in the new host, this # 69 | # makefile will be regenerated and the paths will be corrected. # 70 | ####################################################################### 71 | # fixDeps replaces a bunch of sed/cat/printf statements that slow down the build 72 | FIXDEPS=fixDeps 73 | 74 | .build-conf: ${BUILD_SUBPROJECTS} 75 | ifneq ($(INFORMATION_MESSAGE), ) 76 | @echo $(INFORMATION_MESSAGE) 77 | endif 78 | ${MAKE} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/L1DemoProto.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 79 | 80 | MP_PROCESSOR_OPTION=24FJ256DA206 81 | MP_LINKER_FILE_OPTION=,--script=p24FJ256DA206.gld 82 | # ------------------------------------------------------------------------------------ 83 | # Rules for buildStep: compile 84 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 85 | ${OBJECTDIR}/main.o: main.c nbproject/Makefile-${CND_CONF}.mk 86 | @${MKDIR} ${OBJECTDIR} 87 | @${RM} ${OBJECTDIR}/main.o.d 88 | @${RM} ${OBJECTDIR}/main.o 89 | ${MP_CC} $(MP_EXTRA_CC_PRE) main.c -o ${OBJECTDIR}/main.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/main.o.d" -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -mno-eds-warn -omf=elf -mlarge-arrays -menable-large-arrays -O0 -msmart-io=1 -Wall -msfr-warn=off 90 | @${FIXDEPS} "${OBJECTDIR}/main.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ 91 | 92 | else 93 | ${OBJECTDIR}/main.o: main.c nbproject/Makefile-${CND_CONF}.mk 94 | @${MKDIR} ${OBJECTDIR} 95 | @${RM} ${OBJECTDIR}/main.o.d 96 | @${RM} ${OBJECTDIR}/main.o 97 | ${MP_CC} $(MP_EXTRA_CC_PRE) main.c -o ${OBJECTDIR}/main.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/main.o.d" -mno-eds-warn -g -omf=elf -mlarge-arrays -menable-large-arrays -O0 -msmart-io=1 -Wall -msfr-warn=off 98 | @${FIXDEPS} "${OBJECTDIR}/main.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ 99 | 100 | endif 101 | 102 | # ------------------------------------------------------------------------------------ 103 | # Rules for buildStep: assemble 104 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 105 | else 106 | endif 107 | 108 | # ------------------------------------------------------------------------------------ 109 | # Rules for buildStep: assemblePreproc 110 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 111 | else 112 | endif 113 | 114 | # ------------------------------------------------------------------------------------ 115 | # Rules for buildStep: link 116 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 117 | dist/${CND_CONF}/${IMAGE_TYPE}/L1DemoProto.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 118 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 119 | ${MP_CC} $(MP_EXTRA_LD_PRE) -o dist/${CND_CONF}/${IMAGE_TYPE}/L1DemoProto.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -mlarge-arrays -Wl,--local-stack,--defsym=__MPLAB_BUILD=1,--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--report-mem$(MP_EXTRA_LD_POST) 120 | 121 | else 122 | dist/${CND_CONF}/${IMAGE_TYPE}/L1DemoProto.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 123 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 124 | ${MP_CC} $(MP_EXTRA_LD_PRE) -o dist/${CND_CONF}/${IMAGE_TYPE}/L1DemoProto.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -mlarge-arrays -Wl,--local-stack,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--report-mem$(MP_EXTRA_LD_POST) 125 | ${MP_CC_DIR}\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/L1DemoProto.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a -omf=elf 126 | 127 | endif 128 | 129 | 130 | # Subprojects 131 | .build-subprojects: 132 | 133 | 134 | # Subprojects 135 | .clean-subprojects: 136 | 137 | # Clean Targets 138 | .clean-conf: ${CLEAN_SUBPROJECTS} 139 | ${RM} -r build/default 140 | ${RM} -r dist/default 141 | 142 | # Enable dependency checking 143 | .dep.inc: .depcheck-impl 144 | 145 | DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES}) 146 | ifneq (${DEPFILES},) 147 | include ${DEPFILES} 148 | endif 149 | -------------------------------------------------------------------------------- /L1Demo-asm-example/L1Demo-asm.X/nbproject/Makefile-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Include project Makefile 11 | ifeq "${IGNORE_LOCAL}" "TRUE" 12 | # do not include local makefile. User is passing all local related variables already 13 | else 14 | include Makefile 15 | # Include makefile containing local settings 16 | ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk" 17 | include nbproject/Makefile-local-default.mk 18 | endif 19 | endif 20 | 21 | # Environment 22 | MKDIR=gnumkdir -p 23 | RM=rm -f 24 | MV=mv 25 | CP=cp 26 | 27 | # Macros 28 | CND_CONF=default 29 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 30 | IMAGE_TYPE=debug 31 | OUTPUT_SUFFIX=elf 32 | DEBUGGABLE_SUFFIX=elf 33 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 34 | else 35 | IMAGE_TYPE=production 36 | OUTPUT_SUFFIX=hex 37 | DEBUGGABLE_SUFFIX=elf 38 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 39 | endif 40 | 41 | # Object Directory 42 | OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} 43 | 44 | # Distribution Directory 45 | DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} 46 | 47 | # Source Files Quoted if spaced 48 | SOURCEFILES_QUOTED_IF_SPACED=../L1Demo-sam.s 49 | 50 | # Object Files Quoted if spaced 51 | OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/1472/L1Demo-sam.o 52 | POSSIBLE_DEPFILES=${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d 53 | 54 | # Object Files 55 | OBJECTFILES=${OBJECTDIR}/_ext/1472/L1Demo-sam.o 56 | 57 | # Source Files 58 | SOURCEFILES=../L1Demo-sam.s 59 | 60 | 61 | CFLAGS= 62 | ASFLAGS= 63 | LDLIBSOPTIONS= 64 | 65 | ############# Tool locations ########################################## 66 | # If you copy a project from one host to another, the path where the # 67 | # compiler is installed may be different. # 68 | # If you open this project with MPLAB X in the new host, this # 69 | # makefile will be regenerated and the paths will be corrected. # 70 | ####################################################################### 71 | # fixDeps replaces a bunch of sed/cat/printf statements that slow down the build 72 | FIXDEPS=fixDeps 73 | 74 | .build-conf: ${BUILD_SUBPROJECTS} 75 | ifneq ($(INFORMATION_MESSAGE), ) 76 | @echo $(INFORMATION_MESSAGE) 77 | endif 78 | ${MAKE} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 79 | 80 | MP_PROCESSOR_OPTION=24FJ256DA206 81 | MP_LINKER_FILE_OPTION=,--script=p24FJ256DA206.gld 82 | # ------------------------------------------------------------------------------------ 83 | # Rules for buildStep: compile 84 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 85 | else 86 | endif 87 | 88 | # ------------------------------------------------------------------------------------ 89 | # Rules for buildStep: assemble 90 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 91 | ${OBJECTDIR}/_ext/1472/L1Demo-sam.o: ../L1Demo-sam.s nbproject/Makefile-${CND_CONF}.mk 92 | @${MKDIR} ${OBJECTDIR}/_ext/1472 93 | @${RM} ${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d 94 | @${RM} ${OBJECTDIR}/_ext/1472/L1Demo-sam.o 95 | ${MP_CC} $(MP_EXTRA_AS_PRE) ../L1Demo-sam.s -o ${OBJECTDIR}/_ext/1472/L1Demo-sam.o -c -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -I".." -I"." -Wa,-MD,"${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d",--defsym=__MPLAB_BUILD=1,--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_PK3=1,-g,--no-relax,-g$(MP_EXTRA_AS_POST) 96 | @${FIXDEPS} "${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ 97 | 98 | else 99 | ${OBJECTDIR}/_ext/1472/L1Demo-sam.o: ../L1Demo-sam.s nbproject/Makefile-${CND_CONF}.mk 100 | @${MKDIR} ${OBJECTDIR}/_ext/1472 101 | @${RM} ${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d 102 | @${RM} ${OBJECTDIR}/_ext/1472/L1Demo-sam.o 103 | ${MP_CC} $(MP_EXTRA_AS_PRE) ../L1Demo-sam.s -o ${OBJECTDIR}/_ext/1472/L1Demo-sam.o -c -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -I".." -I"." -Wa,-MD,"${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax,-g$(MP_EXTRA_AS_POST) 104 | @${FIXDEPS} "${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ 105 | 106 | endif 107 | 108 | # ------------------------------------------------------------------------------------ 109 | # Rules for buildStep: assemblePreproc 110 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 111 | else 112 | endif 113 | 114 | # ------------------------------------------------------------------------------------ 115 | # Rules for buildStep: link 116 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 117 | dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 118 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 119 | ${MP_CC} $(MP_EXTRA_LD_PRE) -o dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -Wl,--local-stack,--defsym=__MPLAB_BUILD=1,--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--library-path="..",--library-path=".",--no-force-link,--smart-io,-Map="${DISTDIR}/L1Demo-asm.X.${IMAGE_TYPE}.map",--report-mem$(MP_EXTRA_LD_POST) 120 | 121 | else 122 | dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 123 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 124 | ${MP_CC} $(MP_EXTRA_LD_PRE) -o dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -Wl,--local-stack,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--library-path="..",--library-path=".",--no-force-link,--smart-io,-Map="${DISTDIR}/L1Demo-asm.X.${IMAGE_TYPE}.map",--report-mem$(MP_EXTRA_LD_POST) 125 | ${MP_CC_DIR}\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a -omf=elf 126 | 127 | endif 128 | 129 | 130 | # Subprojects 131 | .build-subprojects: 132 | 133 | 134 | # Subprojects 135 | .clean-subprojects: 136 | 137 | # Clean Targets 138 | .clean-conf: ${CLEAN_SUBPROJECTS} 139 | ${RM} -r build/default 140 | ${RM} -r dist/default 141 | 142 | # Enable dependency checking 143 | .dep.inc: .depcheck-impl 144 | 145 | DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES}) 146 | ifneq (${DEPFILES},) 147 | include ${DEPFILES} 148 | endif 149 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/L1Demo-asm.X/nbproject/Makefile-default.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Generated Makefile - do not edit! 3 | # 4 | # Edit the Makefile in the project folder instead (../Makefile). Each target 5 | # has a -pre and a -post target defined where you can add customized code. 6 | # 7 | # This makefile implements configuration specific macros and targets. 8 | 9 | 10 | # Include project Makefile 11 | ifeq "${IGNORE_LOCAL}" "TRUE" 12 | # do not include local makefile. User is passing all local related variables already 13 | else 14 | include Makefile 15 | # Include makefile containing local settings 16 | ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk" 17 | include nbproject/Makefile-local-default.mk 18 | endif 19 | endif 20 | 21 | # Environment 22 | MKDIR=gnumkdir -p 23 | RM=rm -f 24 | MV=mv 25 | CP=cp 26 | 27 | # Macros 28 | CND_CONF=default 29 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 30 | IMAGE_TYPE=debug 31 | OUTPUT_SUFFIX=elf 32 | DEBUGGABLE_SUFFIX=elf 33 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 34 | else 35 | IMAGE_TYPE=production 36 | OUTPUT_SUFFIX=hex 37 | DEBUGGABLE_SUFFIX=elf 38 | FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 39 | endif 40 | 41 | # Object Directory 42 | OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} 43 | 44 | # Distribution Directory 45 | DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} 46 | 47 | # Source Files Quoted if spaced 48 | SOURCEFILES_QUOTED_IF_SPACED=../L1Demo-sam.s 49 | 50 | # Object Files Quoted if spaced 51 | OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/1472/L1Demo-sam.o 52 | POSSIBLE_DEPFILES=${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d 53 | 54 | # Object Files 55 | OBJECTFILES=${OBJECTDIR}/_ext/1472/L1Demo-sam.o 56 | 57 | # Source Files 58 | SOURCEFILES=../L1Demo-sam.s 59 | 60 | 61 | CFLAGS= 62 | ASFLAGS= 63 | LDLIBSOPTIONS= 64 | 65 | ############# Tool locations ########################################## 66 | # If you copy a project from one host to another, the path where the # 67 | # compiler is installed may be different. # 68 | # If you open this project with MPLAB X in the new host, this # 69 | # makefile will be regenerated and the paths will be corrected. # 70 | ####################################################################### 71 | # fixDeps replaces a bunch of sed/cat/printf statements that slow down the build 72 | FIXDEPS=fixDeps 73 | 74 | .build-conf: ${BUILD_SUBPROJECTS} 75 | ifneq ($(INFORMATION_MESSAGE), ) 76 | @echo $(INFORMATION_MESSAGE) 77 | endif 78 | ${MAKE} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} 79 | 80 | MP_PROCESSOR_OPTION=24FJ256DA206 81 | MP_LINKER_FILE_OPTION=,--script=p24FJ256DA206.gld 82 | # ------------------------------------------------------------------------------------ 83 | # Rules for buildStep: compile 84 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 85 | else 86 | endif 87 | 88 | # ------------------------------------------------------------------------------------ 89 | # Rules for buildStep: assemble 90 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 91 | ${OBJECTDIR}/_ext/1472/L1Demo-sam.o: ../L1Demo-sam.s nbproject/Makefile-${CND_CONF}.mk 92 | @${MKDIR} ${OBJECTDIR}/_ext/1472 93 | @${RM} ${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d 94 | @${RM} ${OBJECTDIR}/_ext/1472/L1Demo-sam.o 95 | ${MP_CC} $(MP_EXTRA_AS_PRE) ../L1Demo-sam.s -o ${OBJECTDIR}/_ext/1472/L1Demo-sam.o -c -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -I".." -I"." -Wa,-MD,"${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d",--defsym=__MPLAB_BUILD=1,--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_PK3=1,-g,--no-relax,-g$(MP_EXTRA_AS_POST) 96 | @${FIXDEPS} "${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ 97 | 98 | else 99 | ${OBJECTDIR}/_ext/1472/L1Demo-sam.o: ../L1Demo-sam.s nbproject/Makefile-${CND_CONF}.mk 100 | @${MKDIR} ${OBJECTDIR}/_ext/1472 101 | @${RM} ${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d 102 | @${RM} ${OBJECTDIR}/_ext/1472/L1Demo-sam.o 103 | ${MP_CC} $(MP_EXTRA_AS_PRE) ../L1Demo-sam.s -o ${OBJECTDIR}/_ext/1472/L1Demo-sam.o -c -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -I".." -I"." -Wa,-MD,"${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax,-g$(MP_EXTRA_AS_POST) 104 | @${FIXDEPS} "${OBJECTDIR}/_ext/1472/L1Demo-sam.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ 105 | 106 | endif 107 | 108 | # ------------------------------------------------------------------------------------ 109 | # Rules for buildStep: assemblePreproc 110 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 111 | else 112 | endif 113 | 114 | # ------------------------------------------------------------------------------------ 115 | # Rules for buildStep: link 116 | ifeq ($(TYPE_IMAGE), DEBUG_RUN) 117 | dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 118 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 119 | ${MP_CC} $(MP_EXTRA_LD_PRE) -o dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -Wl,--local-stack,--defsym=__MPLAB_BUILD=1,--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--library-path="..",--library-path=".",--no-force-link,--smart-io,-Map="${DISTDIR}/L1Demo-asm.X.${IMAGE_TYPE}.map",--report-mem$(MP_EXTRA_LD_POST) 120 | 121 | else 122 | dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk 123 | @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 124 | ${MP_CC} $(MP_EXTRA_LD_PRE) -o dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -Wl,--local-stack,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--library-path="..",--library-path=".",--no-force-link,--smart-io,-Map="${DISTDIR}/L1Demo-asm.X.${IMAGE_TYPE}.map",--report-mem$(MP_EXTRA_LD_POST) 125 | ${MP_CC_DIR}\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/L1Demo-asm.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a -omf=elf 126 | 127 | endif 128 | 129 | 130 | # Subprojects 131 | .build-subprojects: 132 | 133 | 134 | # Subprojects 135 | .clean-subprojects: 136 | 137 | # Clean Targets 138 | .clean-conf: ${CLEAN_SUBPROJECTS} 139 | ${RM} -r build/default 140 | ${RM} -r dist/default 141 | 142 | # Enable dependency checking 143 | .dep.inc: .depcheck-impl 144 | 145 | DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES}) 146 | ifneq (${DEPFILES},) 147 | include ${DEPFILES} 148 | endif 149 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/clut/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #define FCY 16000000UL // Instruction cycle frequency, Hz 9 | #include 10 | 11 | _CONFIG1(FWDTEN_OFF & GWRP_OFF & GCP_OFF & JTAGEN_OFF) 12 | _CONFIG2(POSCMOD_HS & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2) 13 | _CONFIG3(ALTPMP_ALTPMPEN & SOSCSEL_EC) 14 | 15 | /* 16 | To change resolutions, use an X modeline generator like: 17 | http://xtiming.sourceforge.net/cgi-bin/xtiming.pl 18 | For example, 80x480@60Hz produces 19 | Modeline "80x480@61" 4.93 80 112 128 160 480 490 495 505 20 | Then we convert it to the values we need: 21 | 22 | 4.93 is the pixel clock in MHz, we need to set CLOCKDIV to match. To pick a 23 | divisor, use page 147 of the data sheet or, uh, this perl one-liner to 24 | generate all of them and pick one that's close: 25 | perl -e '$d = 1; $x = 0; while($x < 128) { printf "%s %.2f\n",$x,96/$d;if($x < 64) { $d += 0.25; } elsif($x < 96) { $d += 0.50 } else { $d += 1 }; $x++}' 26 | 27 | The differences between: 80 112 128 160 480 28 | are H-porch, H-Pulse, H-width 29 | The differences between: 480 490 495 505 30 | are V-porch, V-Pulse, V-width 31 | 32 | Once these values are in, the monitor will display it but it will probably 33 | be misaligned (especially vertically). Play with VENST_FUDGE and 34 | HENST_FUDGE to fix this. 35 | */ 36 | 37 | #define HOR_RES 640UL 38 | #define VER_RES 480UL 39 | #define HOR_FRONT_PORCH 16 40 | #define HOR_PULSE_WIDTH 96 41 | #define HOR_BACK_PORCH 48 42 | #define VER_FRONT_PORCH 10 43 | #define VER_PULSE_WIDTH 2 44 | #define VER_BACK_PORCH 33 45 | #define BPP 1 46 | #define CLOCKDIV 11 47 | #define VENST_FUDGE 0 48 | #define HENST_FUDGE 0 49 | #define VSPOL 0 /* sync polarities */ 50 | #define HSPOL 0 51 | 52 | #define CHR_FGCOLOR 0x5000 53 | #define CHR_BGCOLOR 0x5100 54 | #define CHR_FONTBASE 0x5200 55 | #define CHR_PRINTCHAR 0x5300 56 | #define CHR_TXTAREASTART 0x5800 57 | #define CHR_TXTAREAEND 0x5900 58 | #define CHR_PRINTPOS 0x5A00 59 | #define RCC_SRCADDR 0x6200 60 | #define RCC_DESTADDR 0x6300 61 | #define RCC_RECTSIZE 0x6400 62 | #define RCC_COLOR 0x6600 63 | #define RCC_STARTCOPY 0x6700 64 | #define IPU_SRCADDR 0x7100 65 | #define IPU_DESTADDR 0x7200 66 | #define IPU_DECOMPRESS 0x7400 67 | 68 | #define GFX_BUFFER_SIZE (HOR_RES * VER_RES / (8/BPP)) 69 | __eds__ uint8_t GFXDisplayBuffer[2][GFX_BUFFER_SIZE] __attribute__((eds, section("DISPLAY"), address(0x1000))); 70 | 71 | void config_graphics(void) { 72 | _G1CLKSEL = 1; 73 | _GCLKDIV = CLOCKDIV; 74 | 75 | G1DPADRL = (unsigned long)(GFXDisplayBuffer) & 0xFFFF; 76 | G1DPADRH = (unsigned long)(GFXDisplayBuffer) >>16 & 0xFF; 77 | G1W1ADRL = (unsigned long)(GFXDisplayBuffer) & 0xFFFF; 78 | G1W1ADRH = (unsigned long)(GFXDisplayBuffer) >>16 & 0xFF; 79 | G1W2ADRL = (unsigned long)(GFXDisplayBuffer) & 0xFFFF; 80 | G1W2ADRH = (unsigned long)(GFXDisplayBuffer) >>16 & 0xFF; 81 | 82 | _GDBEN = 0xFFFF; 83 | 84 | // Using PIC24F manual section 43 page 37-38 85 | _DPMODE = 1; /* TFT */ 86 | _GDBEN = 0xFFFF; 87 | _DPW = _PUW = HOR_RES; // Work area and FB size so GPU works 88 | _DPH = _PUH = VER_RES; 89 | _DPWT = HOR_FRONT_PORCH + HOR_PULSE_WIDTH + HOR_BACK_PORCH + HOR_RES; 90 | _DPHT = VER_FRONT_PORCH + VER_PULSE_WIDTH + VER_BACK_PORCH + VER_RES; 91 | _DPCLKPOL = 0; 92 | _DPENOE = 0; 93 | _DPENPOL = 0; 94 | _DPVSOE = 1; 95 | _DPHSOE = 1; 96 | _DPVSPOL = VSPOL; 97 | _DPHSPOL = HSPOL; 98 | _ACTLINE = _VENST = VER_FRONT_PORCH + VER_PULSE_WIDTH + VER_BACK_PORCH - VENST_FUDGE; 99 | _ACTPIX = _HENST = HOR_FRONT_PORCH + HOR_PULSE_WIDTH + HOR_BACK_PORCH - HENST_FUDGE; 100 | _VSST = VER_FRONT_PORCH; 101 | _HSST = HOR_FRONT_PORCH; 102 | _VSLEN = VER_PULSE_WIDTH; 103 | _HSLEN = HOR_PULSE_WIDTH; 104 | _DPPWROE = 0; 105 | _DPPINOE = 1; 106 | _DPPOWER = 1; 107 | _DPBPP = _PUBPP = BPP / 2; 108 | 109 | 110 | // _DPTEST = 2; /* Uncomment for test patterns */ 111 | 112 | _G1EN = 1; 113 | __delay_ms(1); 114 | } 115 | 116 | void rcc_color(char color) { 117 | while(_CMDFUL) continue; 118 | G1CMDL = color; 119 | G1CMDH = RCC_COLOR; 120 | Nop(); 121 | } 122 | 123 | void rcc_setdest(__eds__ uint8_t *buf) { 124 | while(!_CMDMPT) continue; // Wait for GPU to finish drawing 125 | G1W2ADRL = (unsigned long)(buf); 126 | G1W2ADRH = (unsigned long)(buf); 127 | } 128 | 129 | void gpu_setfb(__eds__ uint8_t *buf) { 130 | while(!_CMDMPT) continue; // Wait for GPU to finish drawing 131 | G1DPADRL = (unsigned long)(buf); 132 | G1DPADRH = (unsigned long)(buf); 133 | } 134 | 135 | void rcc_draw(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { 136 | // destination 137 | while(_CMDFUL) continue; 138 | G1CMDL = x + y*HOR_RES; 139 | G1CMDH = RCC_DESTADDR | (x + y*HOR_RES)>>16; 140 | Nop(); 141 | 142 | // size 143 | while(_CMDFUL) continue; 144 | G1CMDL = (w<<12) | h; 145 | G1CMDH = RCC_RECTSIZE | (w>>4); 146 | Nop(); 147 | 148 | // go! 149 | while(_CMDFUL) continue; 150 | G1CMDL = 0xC<<3; 151 | G1CMDH = RCC_STARTCOPY; 152 | Nop(); 153 | } 154 | 155 | void blank_background() { 156 | rcc_color(0); 157 | rcc_draw(0, 0, HOR_RES, VER_RES); 158 | } 159 | 160 | void config_clut() { 161 | _CLUTADR = 0; // set 0 to black 162 | _CLUTRWEN = 1; 163 | G1CLUTWR = 0; 164 | while(_CLUTBUSY) continue; 165 | _CLUTADR = 1; // set 1 to blue 166 | G1CLUTWR = 0xFF; 167 | while(_CLUTBUSY) continue; 168 | _CLUTRWEN = 0; 169 | _CLUTEN = 1; // let 'er rip! 170 | } 171 | 172 | void clut_set(int index, int color) { 173 | _CLUTADR = index; 174 | _CLUTRWEN = 1; 175 | G1CLUTWR = color; 176 | while(_CLUTBUSY) continue; 177 | _CLUTRWEN = 0; 178 | } 179 | 180 | 181 | int colors[VER_FRONT_PORCH + VER_PULSE_WIDTH + VER_BACK_PORCH + VER_RES]; 182 | void calc_colors() { 183 | int x; 184 | for(x = 0; x < sizeof(colors)/sizeof(colors[0]); x++) { 185 | colors[x] = rand(); 186 | } 187 | } 188 | 189 | void __attribute__((interrupt, auto_psv))_GFX1Interrupt(void) { 190 | static int lines = 0; 191 | static int syncs = 0; 192 | if(_VMRGNIF) { /* on a vertical sync, flip buffers every 60hz */ 193 | lines = 0; 194 | syncs++; 195 | gpu_setfb(GFXDisplayBuffer[(syncs / 60) % 2]); 196 | _VMRGNIF = 0; 197 | } else if(_HMRGNIF) { /* on each horizontal sync, change clut */ 198 | clut_set(1, colors[lines]); 199 | // clut_set(1, rand()); // madness! 200 | lines++; 201 | _HMRGNIF = 0; 202 | } 203 | _GFX1IF = 0; 204 | } 205 | 206 | int main(void) { 207 | int x; 208 | //OSCCON = 0x0000; 209 | 210 | ANSB = 0x0000; 211 | ANSC = 0x0000; 212 | ANSD = 0x0000; 213 | ANSF = 0x0000; 214 | ANSG = 0x0000; 215 | //TRISE = 0x0000; 216 | 217 | TRISB = 0x0000; 218 | 219 | config_graphics(); 220 | config_clut(); 221 | calc_colors(); 222 | 223 | // clear buffers 224 | rcc_setdest(GFXDisplayBuffer[0]); 225 | blank_background(); 226 | rcc_setdest(GFXDisplayBuffer[1]); 227 | blank_background(); 228 | 229 | // draw alternating lines in our two buffers 230 | rcc_setdest(GFXDisplayBuffer[0]); 231 | rcc_color(1); 232 | for(x = 0; x < VER_RES; x += 2) { 233 | rcc_draw(0, x, HOR_RES, 1); 234 | } 235 | rcc_color(0); 236 | rcc_draw(HOR_RES - 1, 0, 1, VER_RES); 237 | rcc_color(1); 238 | rcc_setdest(GFXDisplayBuffer[1]); 239 | for(x = 1; x < VER_RES; x += 2) { 240 | rcc_draw(0, x, HOR_RES, 1); 241 | } 242 | rcc_color(0); 243 | rcc_draw(HOR_RES - 1, 0, 1, VER_RES); 244 | while(!_CMDMPT) continue; // Wait for GPU to finish drawing 245 | 246 | _VMRGNIF = 0; 247 | _HMRGNIF = 0; 248 | _HMRGNIE = 1; 249 | _VMRGNIE = 1; 250 | _GFX1IE = 1; 251 | 252 | while (1) { 253 | } 254 | 255 | return 0; 256 | } 257 | -------------------------------------------------------------------------------- /L1Demo-PCB/L1Demoscene_panelized/pnl_bottom_soldermask.gbs: -------------------------------------------------------------------------------- 1 | G75* 2 | G70* 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD19C,0.05120*% 11 | %ADD39C,0.09000*% 12 | %ADD42R,0.05550X0.05550*% 13 | %ADD50C,0.03940*% 14 | %ADD51C,0.05550*% 15 | %ADD70C,0.20400*% 16 | %ADD76C,0.07800*% 17 | %ADD88C,0.15000*% 18 | X0010000Y0010000D02* 19 | G75* 20 | %LPD*% 21 | D76* 22 | X0022000Y0017000D03* 23 | X0032000Y0017000D03* 24 | X0042000Y0017000D03* 25 | X0052000Y0017000D03* 26 | X0062000Y0017000D03* 27 | X0072000Y0017000D03* 28 | X0170000Y0060940D03* 29 | X0170000Y0069960D03* 30 | X0178000Y0074450D03* 31 | X0186000Y0069960D03* 32 | X0178000Y0065430D03* 33 | X0186000Y0060940D03* 34 | X0186000Y0078980D03* 35 | X0178000Y0083460D03* 36 | X0186000Y0087990D03* 37 | X0178000Y0092480D03* 38 | X0186000Y0097010D03* 39 | X0178000Y0101500D03* 40 | X0170000Y0097010D03* 41 | X0170000Y0087990D03* 42 | X0170000Y0078980D03* 43 | D70* 44 | X0178000Y0030790D03* 45 | X0178000Y0129210D03* 46 | D39* 47 | X0174320Y0155310D03* 48 | X0174320Y0165160D03* 49 | X0194000Y0175000D03* 50 | X0174320Y0184840D03* 51 | X0174320Y0194690D03* 52 | D19* 53 | X0194000Y0194690D03* 54 | X0203850Y0194690D03* 55 | X0174320Y0175000D03* 56 | X0194000Y0155310D03* 57 | X0203850Y0155310D03* 58 | D42* 59 | X0103000Y0189000D03* 60 | X0093000Y0199000D03* 61 | X0057000Y0199000D03* 62 | D51* 63 | X0047000Y0199000D03* 64 | X0093000Y0189000D03* 65 | X0103000Y0199000D03* 66 | X0113000Y0199000D03* 67 | X0123000Y0199000D03* 68 | X0133000Y0199000D03* 69 | X0133000Y0189000D03* 70 | X0123000Y0189000D03* 71 | X0113000Y0189000D03* 72 | D50* 73 | X0016000Y0182910D03* 74 | X0016000Y0171090D03* 75 | X0206850Y0010000D02* 76 | G75* 77 | %LPD*% 78 | D76* 79 | X0218850Y0017000D03* 80 | X0228850Y0017000D03* 81 | X0238850Y0017000D03* 82 | X0248850Y0017000D03* 83 | X0258850Y0017000D03* 84 | X0268850Y0017000D03* 85 | X0366850Y0060940D03* 86 | X0366850Y0069960D03* 87 | X0374850Y0074450D03* 88 | X0382850Y0069960D03* 89 | X0374850Y0065430D03* 90 | X0382850Y0060940D03* 91 | X0382850Y0078980D03* 92 | X0374850Y0083460D03* 93 | X0382850Y0087990D03* 94 | X0374850Y0092480D03* 95 | X0382850Y0097010D03* 96 | X0374850Y0101500D03* 97 | X0366850Y0097010D03* 98 | X0366850Y0087990D03* 99 | X0366850Y0078980D03* 100 | D70* 101 | X0374850Y0030790D03* 102 | X0374850Y0129210D03* 103 | D39* 104 | X0371170Y0155310D03* 105 | X0371170Y0165160D03* 106 | X0390850Y0175000D03* 107 | X0371170Y0184840D03* 108 | X0371170Y0194690D03* 109 | D19* 110 | X0390850Y0194690D03* 111 | X0400700Y0194690D03* 112 | X0371170Y0175000D03* 113 | X0390850Y0155310D03* 114 | X0400700Y0155310D03* 115 | D42* 116 | X0299850Y0189000D03* 117 | X0289850Y0199000D03* 118 | X0253850Y0199000D03* 119 | D51* 120 | X0243850Y0199000D03* 121 | X0289850Y0189000D03* 122 | X0299850Y0199000D03* 123 | X0309850Y0199000D03* 124 | X0319850Y0199000D03* 125 | X0329850Y0199000D03* 126 | X0329850Y0189000D03* 127 | X0319850Y0189000D03* 128 | X0309850Y0189000D03* 129 | D50* 130 | X0212850Y0182910D03* 131 | X0212850Y0171090D03* 132 | X0403700Y0010000D02* 133 | G75* 134 | %LPD*% 135 | D76* 136 | X0415700Y0017000D03* 137 | X0425700Y0017000D03* 138 | X0435700Y0017000D03* 139 | X0445700Y0017000D03* 140 | X0455700Y0017000D03* 141 | X0465700Y0017000D03* 142 | X0563700Y0060940D03* 143 | X0563700Y0069960D03* 144 | X0571700Y0074450D03* 145 | X0579700Y0069960D03* 146 | X0571700Y0065430D03* 147 | X0579700Y0060940D03* 148 | X0579700Y0078980D03* 149 | X0571700Y0083460D03* 150 | X0579700Y0087990D03* 151 | X0571700Y0092480D03* 152 | X0579700Y0097010D03* 153 | X0571700Y0101500D03* 154 | X0563700Y0097010D03* 155 | X0563700Y0087990D03* 156 | X0563700Y0078980D03* 157 | D70* 158 | X0571700Y0030790D03* 159 | X0571700Y0129210D03* 160 | D39* 161 | X0568020Y0155310D03* 162 | X0568020Y0165160D03* 163 | X0587700Y0175000D03* 164 | X0568020Y0184840D03* 165 | X0568020Y0194690D03* 166 | D19* 167 | X0587700Y0194690D03* 168 | X0597550Y0194690D03* 169 | X0568020Y0175000D03* 170 | X0587700Y0155310D03* 171 | X0597550Y0155310D03* 172 | D42* 173 | X0496700Y0189000D03* 174 | X0486700Y0199000D03* 175 | X0450700Y0199000D03* 176 | D51* 177 | X0440700Y0199000D03* 178 | X0486700Y0189000D03* 179 | X0496700Y0199000D03* 180 | X0506700Y0199000D03* 181 | X0516700Y0199000D03* 182 | X0526700Y0199000D03* 183 | X0526700Y0189000D03* 184 | X0516700Y0189000D03* 185 | X0506700Y0189000D03* 186 | D50* 187 | X0409700Y0182910D03* 188 | X0409700Y0171090D03* 189 | X0600550Y0010000D02* 190 | G75* 191 | %LPD*% 192 | D76* 193 | X0612550Y0017000D03* 194 | X0622550Y0017000D03* 195 | X0632550Y0017000D03* 196 | X0642550Y0017000D03* 197 | X0652550Y0017000D03* 198 | X0662550Y0017000D03* 199 | X0760550Y0060940D03* 200 | X0760550Y0069960D03* 201 | X0768550Y0074450D03* 202 | X0776550Y0069960D03* 203 | X0768550Y0065430D03* 204 | X0776550Y0060940D03* 205 | X0776550Y0078980D03* 206 | X0768550Y0083460D03* 207 | X0776550Y0087990D03* 208 | X0768550Y0092480D03* 209 | X0776550Y0097010D03* 210 | X0768550Y0101500D03* 211 | X0760550Y0097010D03* 212 | X0760550Y0087990D03* 213 | X0760550Y0078980D03* 214 | D70* 215 | X0768550Y0030790D03* 216 | X0768550Y0129210D03* 217 | D39* 218 | X0764870Y0155310D03* 219 | X0764870Y0165160D03* 220 | X0784550Y0175000D03* 221 | X0764870Y0184840D03* 222 | X0764870Y0194690D03* 223 | D19* 224 | X0784550Y0194690D03* 225 | X0794400Y0194690D03* 226 | X0764870Y0175000D03* 227 | X0784550Y0155310D03* 228 | X0794400Y0155310D03* 229 | D42* 230 | X0693550Y0189000D03* 231 | X0683550Y0199000D03* 232 | X0647550Y0199000D03* 233 | D51* 234 | X0637550Y0199000D03* 235 | X0683550Y0189000D03* 236 | X0693550Y0199000D03* 237 | X0703550Y0199000D03* 238 | X0713550Y0199000D03* 239 | X0723550Y0199000D03* 240 | X0723550Y0189000D03* 241 | X0713550Y0189000D03* 242 | X0703550Y0189000D03* 243 | D50* 244 | X0606550Y0182910D03* 245 | X0606550Y0171090D03* 246 | X0797400Y0010000D02* 247 | G75* 248 | %LPD*% 249 | D76* 250 | X0809400Y0017000D03* 251 | X0819400Y0017000D03* 252 | X0829400Y0017000D03* 253 | X0839400Y0017000D03* 254 | X0849400Y0017000D03* 255 | X0859400Y0017000D03* 256 | X0957400Y0060940D03* 257 | X0957400Y0069960D03* 258 | X0965400Y0074450D03* 259 | X0973400Y0069960D03* 260 | X0965400Y0065430D03* 261 | X0973400Y0060940D03* 262 | X0973400Y0078980D03* 263 | X0965400Y0083460D03* 264 | X0973400Y0087990D03* 265 | X0965400Y0092480D03* 266 | X0973400Y0097010D03* 267 | X0965400Y0101500D03* 268 | X0957400Y0097010D03* 269 | X0957400Y0087990D03* 270 | X0957400Y0078980D03* 271 | D70* 272 | X0965400Y0030790D03* 273 | X0965400Y0129210D03* 274 | D39* 275 | X0961720Y0155310D03* 276 | X0961720Y0165160D03* 277 | X0981400Y0175000D03* 278 | X0961720Y0184840D03* 279 | X0961720Y0194690D03* 280 | D19* 281 | X0981400Y0194690D03* 282 | X0991250Y0194690D03* 283 | X0961720Y0175000D03* 284 | X0981400Y0155310D03* 285 | X0991250Y0155310D03* 286 | D42* 287 | X0890400Y0189000D03* 288 | X0880400Y0199000D03* 289 | X0844400Y0199000D03* 290 | D51* 291 | X0834400Y0199000D03* 292 | X0880400Y0189000D03* 293 | X0890400Y0199000D03* 294 | X0900400Y0199000D03* 295 | X0910400Y0199000D03* 296 | X0920400Y0199000D03* 297 | X0920400Y0189000D03* 298 | X0910400Y0189000D03* 299 | X0900400Y0189000D03* 300 | D50* 301 | X0803400Y0182910D03* 302 | X0803400Y0171090D03* 303 | X0994250Y0010000D02* 304 | G75* 305 | %LPD*% 306 | D76* 307 | X1006250Y0017000D03* 308 | X1016250Y0017000D03* 309 | X1026250Y0017000D03* 310 | X1036250Y0017000D03* 311 | X1046250Y0017000D03* 312 | X1056250Y0017000D03* 313 | X1154250Y0060940D03* 314 | X1154250Y0069960D03* 315 | X1162250Y0074450D03* 316 | X1170250Y0069960D03* 317 | X1162250Y0065430D03* 318 | X1170250Y0060940D03* 319 | X1170250Y0078980D03* 320 | X1162250Y0083460D03* 321 | X1170250Y0087990D03* 322 | X1162250Y0092480D03* 323 | X1170250Y0097010D03* 324 | X1162250Y0101500D03* 325 | X1154250Y0097010D03* 326 | X1154250Y0087990D03* 327 | X1154250Y0078980D03* 328 | D70* 329 | X1162250Y0030790D03* 330 | X1162250Y0129210D03* 331 | D39* 332 | X1158570Y0155310D03* 333 | X1158570Y0165160D03* 334 | X1178250Y0175000D03* 335 | X1158570Y0184840D03* 336 | X1158570Y0194690D03* 337 | D19* 338 | X1178250Y0194690D03* 339 | X1188100Y0194690D03* 340 | X1158570Y0175000D03* 341 | X1178250Y0155310D03* 342 | X1188100Y0155310D03* 343 | D42* 344 | X1087250Y0189000D03* 345 | X1077250Y0199000D03* 346 | X1041250Y0199000D03* 347 | D51* 348 | X1031250Y0199000D03* 349 | X1077250Y0189000D03* 350 | X1087250Y0199000D03* 351 | X1097250Y0199000D03* 352 | X1107250Y0199000D03* 353 | X1117250Y0199000D03* 354 | X1117250Y0189000D03* 355 | X1107250Y0189000D03* 356 | X1097250Y0189000D03* 357 | D50* 358 | X1000250Y0182910D03* 359 | X1000250Y0171090D03* 360 | D88* 361 | X0069054Y-009685D03* 362 | X0069054Y0226535D03* 363 | X1132046Y-009685D03* 364 | M02* 365 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/testgfx.h: -------------------------------------------------------------------------------- 1 | __eds__ uint8_t gfx_compressed[] __attribute__((space(eds) section("IMAGE"), address(0x4000))) = { 2 | 0x63,0x60,0x18,0x5,0x54,0x1,0x1,0xa1,0xa2, 3 | 0x98,0x42,0xa1,0xa1,0x8c,0x68,0x62,0x40,0x21, 4 | 0x74,0x85,0x21,0xa1,0x2b,0x57,0x65,0xa1,0x8a, 5 | 0x39,0x84,0x2e,0x5d,0xb5,0x6a,0x55,0x28,0xaa, 6 | 0x69,0x53,0x81,0x42,0xab,0xc2,0x50,0xc,0x4, 7 | 0xea,0x4,0x82,0x28,0x56,0x64,0xad,0x60,0x65, 8 | 0xab,0xa2,0x90,0x6d,0xe,0x58,0xa,0x15,0x43, 9 | 0xb2,0x25,0x60,0x25,0x54,0xc,0x49,0x61,0x8, 10 | 0x58,0x68,0xd5,0xac,0x55,0x61,0x8,0x13,0x21, 11 | 0xc6,0x1,0x1,0x92,0x13,0xa7,0x42,0x74,0x2e, 12 | 0x45,0x72,0xa2,0xc3,0x52,0x88,0x61,0x4b,0x91, 13 | 0x9c,0x8,0xb2,0x36,0x2b,0x14,0x2c,0x6,0x77, 14 | 0x22,0xc8,0x5a,0xa0,0xdb,0xc0,0x52,0xac,0x48, 15 | 0xd6,0x2,0x6d,0x4,0x1b,0x21,0x8a,0x24,0x26, 16 | 0xa,0xb5,0x2a,0xc,0x61,0x2d,0x58,0x4f,0x28, 17 | 0x52,0x38,0x0,0xc5,0xa2,0x40,0xcc,0x90,0x95, 18 | 0x70,0x4b,0x40,0xe6,0x80,0xc5,0x90,0x2c,0x1, 19 | 0x89,0x85,0xc1,0x83,0x47,0x14,0x55,0xc,0x6c, 20 | 0xa0,0x28,0xdc,0x79,0x10,0x16,0xc8,0xc0,0x30, 21 | 0xb8,0x18,0x2b,0x9c,0x5,0x15,0xc3,0x34,0x19, 22 | 0xe4,0x64,0x98,0x97,0x60,0xae,0x2,0x89,0x45, 23 | 0xa1,0xb9,0x94,0x61,0xa,0x42,0xc,0xce,0x9c, 24 | 0x8a,0xf0,0x25,0x36,0xb1,0xa9,0x98,0x62,0x70, 25 | 0x5f,0x22,0x89,0x85,0xc0,0xdd,0x32,0x15,0x1e, 26 | 0x42,0xa1,0xab,0x90,0xc4,0x20,0x21,0x14,0x30, 27 | 0x15,0x59,0x2c,0xb,0x1c,0x87,0xa1,0x88,0xc0, 28 | 0x7,0xc9,0x86,0xb2,0x82,0x92,0x2f,0x22,0xd6, 29 | 0xa7,0x82,0x63,0x17,0x9a,0x2e,0xa1,0xbe,0x4, 30 | 0xa7,0x16,0x50,0x7a,0x6,0xa7,0x6,0x46,0x84, 31 | 0x18,0x30,0x19,0x80,0x13,0x57,0x18,0x72,0x4a, 32 | 0x8b,0x2,0xa7,0xc1,0xac,0x50,0x94,0x14,0xb9, 33 | 0xa,0x39,0xf9,0x3a,0x4c,0x45,0x88,0xc1,0xd3, 34 | 0x10,0xc4,0x24,0x30,0x80,0xa7,0xb5,0x10,0xb8, 35 | 0xe6,0x28,0x51,0x44,0x8e,0x81,0x2b,0x43,0xa4, 36 | 0xe7,0x50,0xa8,0xc2,0xa8,0x50,0xe4,0x4c,0x9, 37 | 0x55,0x86,0x9c,0x69,0x20,0xa,0xc3,0x50,0x72, 38 | 0x2b,0xc4,0xfb,0x28,0xca,0x40,0xd9,0x77,0x25, 39 | 0x30,0x45,0x63,0x66,0x73,0x8c,0x7c,0x1e,0x12, 40 | 0x8a,0xa6,0x73,0xd8,0x82,0x50,0xcc,0x82,0xcf, 41 | 0x1,0x14,0x22,0x18,0x85,0x21,0xa8,0x28,0x40, 42 | 0xd,0x13,0x50,0x1e,0x43,0x2f,0xf,0x43,0x21, 43 | 0x31,0x81,0xa2,0x12,0x92,0x30,0x50,0xf5,0x43, 44 | 0x13,0x4b,0x16,0xb2,0x7e,0x78,0x2,0x42,0x52, 45 | 0x89,0x94,0xa8,0xe0,0xa,0x43,0x57,0x21,0x9, 46 | 0x32,0x22,0xdc,0x82,0x9e,0xac,0x42,0x90,0x34, 47 | 0xc3,0x53,0x6e,0xe8,0x52,0xcc,0x64,0xa,0xcd, 48 | 0x4,0x10,0x85,0xac,0x88,0x64,0x1,0x37,0x53, 49 | 0x14,0xa9,0xfc,0x87,0xe9,0xf,0x43,0x4e,0x2c, 50 | 0x4b,0xd1,0xc5,0x80,0x81,0x8,0xb5,0x3d,0xa, 51 | 0x29,0x6d,0x85,0x60,0x13,0x5b,0x8a,0x21,0xe6, 52 | 0x0,0xb3,0x19,0x49,0x2c,0x60,0x2a,0x86,0xbd, 53 | 0x88,0xdc,0x15,0x86,0xa9,0xc,0xe1,0x66,0x44, 54 | 0x86,0xc3,0xcc,0x6f,0x59,0x48,0x49,0x3f,0x0, 55 | 0x56,0xf5,0x20,0x45,0x3e,0xb4,0x86,0x42,0x8e, 56 | 0x64,0x88,0xd6,0x2c,0x94,0x28,0xe,0xc1,0x92, 57 | 0x1,0xc1,0x5a,0xb3,0x50,0x84,0x20,0x45,0x44, 58 | 0x18,0x4a,0x82,0x81,0x68,0x45,0xcd,0x80,0xa1, 59 | 0xa8,0x8e,0x45,0x24,0x84,0x30,0x94,0x4,0x8, 60 | 0xae,0x71,0xb2,0x50,0x53,0x2a,0xa4,0x22,0x43, 61 | 0xd5,0xa,0x2e,0xc1,0xb0,0x8a,0xa1,0x5a,0xb, 62 | 0x29,0xe9,0x50,0x93,0x3e,0x44,0xc,0xb5,0xd0, 63 | 0x80,0xd7,0xbd,0xa2,0x68,0xf6,0x82,0xc3,0x80, 64 | 0x15,0xbd,0x2e,0x7,0x19,0xc9,0x8a,0xea,0x37, 65 | 0x34,0x23,0xe1,0x89,0x17,0xa9,0xbc,0x42,0x44, 66 | 0x24,0xa2,0xf8,0x83,0xa7,0x29,0xe4,0xf2,0x2f, 67 | 0x4,0x2e,0x88,0xe4,0x45,0x44,0x32,0xd,0x45, 68 | 0x29,0xfd,0xd0,0x8a,0x67,0x70,0x5e,0x5f,0xb9, 69 | 0xa,0xbd,0x15,0xe2,0x0,0xcd,0xf,0x28,0xcd, 70 | 0x9a,0x0,0xa8,0x3d,0xa1,0xa8,0xe5,0xe4,0x52, 71 | 0xb4,0x34,0x9,0xb7,0x27,0x8a,0x11,0xad,0x4c, 72 | 0xc1,0x10,0x3,0x1a,0xb9,0x12,0xa9,0x1d,0x81, 73 | 0xdc,0x76,0x12,0xc5,0x68,0x62,0xa1,0x89,0x5, 74 | 0x40,0x9c,0x28,0x86,0x6a,0xc5,0x4a,0x74,0xc7, 75 | 0xc0,0x7c,0x17,0x86,0x6e,0x18,0x8a,0x98,0x3, 76 | 0x96,0x4c,0x8d,0x28,0x12,0xc2,0x50,0x9c,0x8b, 77 | 0x9a,0xb9,0x10,0x3a,0x11,0x81,0x15,0x80,0x28, 78 | 0x4c,0xe0,0xe9,0x15,0xae,0xc,0x91,0xe1,0xe0, 79 | 0xca,0xc2,0x10,0xb9,0xb,0x5e,0x16,0x20,0xe5, 80 | 0xc1,0x50,0x2c,0x2d,0xbd,0xa9,0x18,0x49,0x8, 81 | 0x96,0xd8,0x50,0xaa,0x32,0x87,0xa5,0xe8,0x49, 82 | 0x12,0x5a,0x75,0x67,0xa1,0x16,0xda,0x60,0x31, 83 | 0xb4,0x22,0x1f,0x24,0x86,0x96,0x3f,0xc0,0xe6, 84 | 0xa1,0xd7,0x8b,0x40,0x7b,0xa3,0x42,0x31,0x2b, 85 | 0x15,0xcc,0xea,0x33,0x4,0xa3,0x4e,0x1,0x85, 86 | 0xc1,0x20,0xab,0x65,0x1d,0x30,0xdb,0x2,0xe0, 87 | 0xf6,0x41,0x28,0x7a,0x62,0xe,0x4d,0x45,0xab, 88 | 0x23,0x21,0x39,0xe,0xa5,0x4c,0x80,0x66,0xe, 89 | 0xa0,0x20,0x2b,0x96,0x94,0x16,0x8a,0x5e,0x29, 90 | 0x20,0xe5,0x6a,0x7,0xa4,0x76,0x13,0x2c,0x74, 91 | 0x3,0x90,0x6a,0x33,0x58,0xe,0x46,0xae,0xf5, 92 | 0xa0,0xd9,0xdf,0x1,0xb9,0x76,0x84,0xe6,0x56, 93 | 0xe4,0xe6,0x1a,0x4c,0x33,0x4c,0x6b,0x18,0x52, 94 | 0x2b,0x2e,0x14,0x5e,0x27,0xaf,0x84,0xa5,0x68, 95 | 0x48,0xb2,0xca,0x2,0x87,0xc1,0x4a,0xa8,0x81, 96 | 0x90,0x64,0x5,0x4a,0xb5,0xd0,0x32,0x1,0x68, 97 | 0x20,0xb8,0x4c,0x84,0xa4,0x34,0x48,0x15,0xb, 98 | 0x34,0x10,0x24,0x6,0x4b,0x69,0x21,0xd0,0xd6, 99 | 0x68,0x8,0x72,0x81,0x6,0xed,0x26,0x85,0x20, 100 | 0x57,0x0,0xd0,0xd6,0xed,0x54,0x94,0xd2,0x7, 101 | 0x5c,0x76,0x20,0x5a,0xc0,0x70,0xbf,0x67,0x21, 102 | 0x9a,0xd6,0x88,0x2e,0xb,0x72,0xcb,0x1b,0x96, 103 | 0x31,0xd0,0xc4,0xc0,0x6,0x32,0x2c,0x45,0x2d, 104 | 0x3f,0x40,0x6,0x82,0xd4,0x89,0xa2,0xe5,0x2, 105 | 0x74,0x75,0x20,0x3,0x41,0xea,0xc4,0xd0,0xaa, 106 | 0x27,0x74,0x3b,0x40,0xfe,0x22,0x4a,0x2c,0x0, 107 | 0x22,0x16,0x85,0x56,0xef,0xc0,0xbb,0x12,0x1, 108 | 0xd0,0xc0,0x1,0x89,0x81,0x7a,0x29,0xe0,0xe8, 109 | 0x83,0x26,0x15,0x90,0x5e,0x58,0xcf,0x5,0x56, 110 | 0x8e,0x80,0xec,0x8,0x80,0x14,0x52,0x40,0xb7, 111 | 0x86,0x22,0xc4,0x20,0xbd,0x23,0xa0,0x9f,0xe0, 112 | 0xbd,0x7,0x58,0x9f,0x8,0x48,0x21,0xc4,0xa0, 113 | 0x7d,0x22,0xa0,0x18,0xd8,0x7a,0x10,0x17,0xd6, 114 | 0x5f,0x41,0x11,0x83,0x6,0x3e,0xac,0x93,0x4, 115 | 0x32,0xa,0xd2,0x25,0x41,0x17,0x83,0x38,0x10, 116 | 0x2e,0x6,0x8a,0x23,0xa8,0xd8,0x14,0xa8,0xb7, 117 | 0x43,0xc0,0x62,0x10,0x7,0xc2,0x82,0x27,0x14, 118 | 0x2e,0x16,0xc6,0x8,0x13,0x83,0x4,0x13,0xd8, 119 | 0x31,0xa1,0x50,0x31,0x30,0x7,0x42,0x65,0x85, 120 | 0x42,0xa3,0xa,0xd6,0xd3,0x3,0xa5,0xaf,0x30, 121 | 0x68,0x9f,0x10,0xd6,0x23,0x9c,0x8a,0x54,0x84, 122 | 0x23,0x77,0x53,0x57,0x21,0xb1,0x45,0x11,0xbd, 123 | 0x69,0x70,0xdf,0x11,0xd6,0x75,0x85,0x66,0x9a, 124 | 0x2c,0x64,0x31,0x68,0xe6,0x82,0x89,0x41,0x82, 125 | 0x67,0x2a,0xa2,0xf9,0x6,0x8f,0x6d,0x68,0x5b, 126 | 0x8a,0x11,0xec,0x35,0x68,0xb3,0x25,0x4,0x51, 127 | 0x7d,0x86,0xae,0x84,0x36,0x8c,0x20,0x39,0x38, 128 | 0x14,0x5a,0x66,0x32,0x22,0x6a,0x6,0x48,0x86, 129 | 0x8,0x80,0x97,0x3b,0xa0,0x1a,0x4,0x5a,0xc3, 130 | 0x20,0x4a,0x18,0x6c,0xbd,0x99,0x0,0x2c,0x8d, 131 | 0x7c,0x6,0x4c,0x65,0xa3,0x60,0x10,0x83,0x90, 132 | 0x50,0x6c,0x7d,0x37,0x2c,0x35,0x2a,0xa6,0x58, 133 | 0xc8,0xd2,0x2c,0x4c,0xad,0xa0,0x7c,0x89,0x6, 134 | 0xa6,0x62,0x8a,0x41,0xf2,0x39,0x3,0x46,0xcb, 135 | 0x0,0x43,0x6c,0x25,0xa6,0x18,0x28,0x3,0x61, 136 | 0x11,0xcb,0xc2,0x62,0x2d,0x36,0xb1,0x28,0x22, 137 | 0xc4,0x10,0xa3,0x37,0xa8,0x62,0x62,0x58,0xc4, 138 | 0x44,0xb1,0x38,0x59,0x14,0xbd,0x9e,0x5f,0x89, 139 | 0xdc,0x1c,0x5,0xf7,0x83,0x41,0xed,0x40,0xb8, 140 | 0x18,0x54,0x24,0x14,0x9a,0xf7,0x81,0x85,0x30, 141 | 0x58,0x64,0x29,0xa2,0xef,0x8,0x53,0x81,0xdc, 142 | 0x9f,0xc,0x40,0x15,0x1,0x97,0x29,0x21,0xa8, 143 | 0x55,0x32,0xb8,0xcc,0x9,0x59,0x85,0x29,0x16, 144 | 0x4a,0x55,0x31,0x56,0x4c,0x3b,0x40,0x5,0x33, 145 | 0xbc,0x15,0x11,0x6,0xa9,0xe5,0x41,0x6e,0x9e, 146 | 0xa,0xef,0x8a,0x43,0x87,0x0,0x19,0xa1,0x8d, 147 | 0x97,0x30,0x44,0x18,0x80,0xca,0x32,0x28,0xf, 148 | 0x52,0xc0,0xc0,0x8a,0x64,0xb0,0x8,0x62,0x30, 149 | 0x2d,0xc,0x1a,0x76,0xc8,0x3d,0x7d,0xf4,0x68, 150 | 0x3,0x55,0x5,0x61,0x58,0xa2,0x1c,0x9b,0xba, 151 | 0x28,0x6c,0x62,0x8c,0x98,0x49,0xd,0x9b,0x58, 152 | 0x16,0x36,0x31,0x56,0xcc,0xb4,0x81,0x4d,0x6c, 153 | 0x15,0x2b,0x81,0x34,0x84,0x2b,0xad,0x11,0x2b, 154 | 0x86,0xde,0xfc,0x20,0x49,0x2c,0x4,0xab,0x58, 155 | 0x16,0xa6,0xd8,0x4a,0xc,0xbf,0x1,0xa3,0x3b, 156 | 0x8c,0x15,0x4b,0x5b,0x98,0x11,0x44,0x8a,0x62, 157 | 0x14,0x39,0x1,0xa8,0xa3,0x3e,0x1,0xac,0xc, 158 | 0xb0,0x74,0x80,0x5e,0xc8,0x44,0x21,0xa7,0xe, 159 | 0x44,0x37,0x5,0x25,0xd1,0x20,0xc6,0xb7,0xe1, 160 | 0x80,0x15,0xd6,0xc7,0x86,0xa7,0x4a,0x90,0xd9, 161 | 0x68,0x69,0x37,0x6c,0x6a,0x56,0x28,0x96,0x3c, 162 | 0x13,0x85,0x3c,0x66,0x4,0x3,0x44,0x8b,0x2d, 163 | 0x85,0x34,0x18,0x90,0x1,0xb8,0x90,0x99,0x8a, 164 | 0x29,0x16,0x1a,0x3a,0x15,0x43,0x4c,0x34,0x4, 165 | 0x55,0x10,0x12,0xc9,0xe0,0xcc,0xf,0x97,0x0, 166 | 0x89,0xb1,0x82,0x9b,0x3,0x59,0xb0,0x82,0x21, 167 | 0xcb,0x1,0x92,0xe0,0x2,0x56,0x22,0x9a,0xda, 168 | 0x51,0x48,0x62,0xac,0xd0,0x31,0xa6,0x28,0x68, 169 | 0xc2,0x84,0x4a,0x41,0xca,0x3f,0x98,0xd8,0x52, 170 | 0x84,0x98,0x28,0x42,0xc,0x9c,0x66,0x1d,0x56, 171 | 0x62,0x8a,0x81,0xb9,0x48,0x62,0xa2,0x24,0x8a, 172 | 0x31,0x62,0x8a,0x45,0x81,0xc5,0x18,0x21,0xd, 173 | 0x2f,0x51,0x48,0x53,0xf,0x53,0xc,0x59,0xdd, 174 | 0x54,0x54,0x75,0x51,0xc8,0x62,0x2b,0x51,0xc4, 175 | 0xb2,0xa0,0x6e,0xe,0x83,0xb7,0x41,0x43,0xb1, 176 | 0x88,0x85,0xac,0x8c,0x82,0xb6,0xc9,0x42,0xe1, 177 | 0x62,0x1,0x90,0x96,0x8e,0xc3,0x52,0x60,0x56, 178 | 0x40,0x12,0x83,0x97,0x49,0x30,0x31,0x6,0x68, 179 | 0x72,0x84,0x26,0x3f,0x88,0x58,0x0,0x23,0xbc, 180 | 0xf6,0x5,0x7a,0x14,0x75,0xfa,0x86,0x15,0x9c, 181 | 0x9c,0xc3,0x30,0xeb,0xd6,0xac,0x50,0x62,0x86, 182 | 0x59,0xb1,0xf6,0x7e,0x1d,0x42,0x69,0x36,0xd0, 183 | 0x2b,0x8a,0xa5,0x4d,0x81,0xe1,0x2,0x7,0xcc, 184 | 0x9,0x2e,0x50,0x7,0x35,0xb,0xbd,0xb1,0x8, 185 | 0x4a,0xa1,0x68,0x45,0x6,0xb8,0xca,0x40,0x2b, 186 | 0x6e,0x20,0x55,0x63,0x28,0xd4,0xbb,0xc8,0x43, 187 | 0x8f,0x90,0xa0,0x84,0x76,0x63,0xa0,0xb5,0x21, 188 | 0x34,0x1a,0xc0,0xe,0x80,0x75,0x81,0x21,0x65, 189 | 0xd5,0x54,0xb0,0xb9,0xb0,0x4a,0x9,0x62,0xc9, 190 | 0x52,0xb0,0xb9,0xf0,0xca,0xb,0x2c,0x6,0xe9, 191 | 0xc6,0x84,0xae,0xc2,0x10,0x73,0x58,0x8a,0x32, 192 | 0x9c,0x3,0xae,0x43,0xa0,0xe3,0x7d,0x4b,0x11, 193 | 0x62,0x8c,0xb0,0x19,0x90,0xa5,0xc8,0xea,0x20, 194 | 0x33,0x25,0xac,0x53,0xe1,0x62,0x61,0x90,0x5e, 195 | 0x2,0x30,0x9a,0x61,0x95,0x11,0x48,0xc,0x5c, 196 | 0xb4,0x85,0x41,0xfa,0x39,0x70,0xb1,0xa5,0x90, 197 | 0xbe,0x2d,0xac,0x32,0x82,0x89,0x81,0xfa,0xea, 198 | 0x8,0x31,0x31,0x68,0x2f,0x7,0x53,0x2c,0x14, 199 | 0x96,0x39,0xa0,0x62,0x21,0x50,0xcf,0xc3,0xf2, 200 | 0xf,0xb4,0xd9,0x90,0xc5,0x8a,0x54,0x69,0x41, 201 | 0xd5,0xc1,0xfa,0x5f,0x70,0xb1,0xa9,0x38,0xc4, 202 | 0x18,0xa0,0x5,0x4,0x2b,0xd4,0x7d,0xf0,0xa, 203 | 0x7b,0x29,0x56,0x31,0xa8,0xde,0x28,0x46,0x7c, 204 | 0x62,0xb0,0xc,0xb,0xed,0x93,0xc1,0xe6,0xe9, 205 | 0xa2,0x90,0xc4,0xa2,0xa0,0x95,0x51,0x18,0xc4, 206 | 0x1f,0xab,0x20,0x7d,0x7c,0xa4,0x36,0x2c,0x6c, 207 | 0xc,0x1c,0x9a,0x6a,0x44,0x91,0xc4,0xa0,0x79, 208 | 0xe,0x92,0x28,0x31,0xc7,0xde,0xb1,0x8b,0x4d, 209 | 0x5d,0x85,0x39,0x7e,0x39,0x15,0x73,0x9c,0x13, 210 | 0x5a,0xa5,0xa0,0xcc,0xca,0x42,0xc5,0xc2,0x18, 211 | 0xb1,0xc,0x21,0xa3,0x8f,0x86,0xa1,0x8e,0x1, 212 | 0x41,0xc6,0x7c,0xc2,0x30,0x5a,0xe5,0x21,0x58, 213 | 0xba,0x69,0xe,0x54,0xeb,0x92,0x39,0x60,0x29, 214 | 0x59,0x2,0xb0,0x17,0x0,0x58,0x7a,0x6,0x18, 215 | 0x62,0xa0,0x52,0x8e,0x11,0xb3,0xf9,0x82,0xd1, 216 | 0xbc,0x82,0x97,0x9a,0x64,0x88,0x85,0xac,0xa2, 217 | 0xae,0x18,0x8e,0x66,0x22,0x51,0x4d,0x4c,0x12, 218 | 0xc4,0xc4,0xc8,0x14,0x43,0xee,0xa5,0xc0,0x9b, 219 | 0x3d,0x50,0x31,0x87,0x50,0x24,0x0,0x1d,0xb5, 220 | 0x8,0x41,0x12,0x82,0xcd,0xff,0x22,0xcf,0x50, 221 | 0x41,0x53,0xbb,0x3,0x7a,0x9b,0x3f,0xc,0x63, 222 | 0xf4,0xf,0x52,0xa4,0xad,0x44,0x17,0x63,0xc4, 223 | 0x2e,0xb6,0x8a,0x18,0x31,0x6c,0xe6,0x61,0xb1, 224 | 0x37,0xc,0x6d,0x10,0x13,0xee,0xe6,0xa9,0xab, 225 | 0x42,0x91,0xc3,0x20,0xc,0x39,0x4c,0x90,0xc2, 226 | 0x25,0x0,0x49,0x28,0x70,0x29,0x75,0x5b,0xde, 227 | 0xb0,0xc2,0x8e,0xa0,0xd8,0x4a,0xac,0x62,0x59, 228 | 0xc4,0x88,0x5,0xd0,0x40,0x8c,0x91,0x38,0x31, 229 | 0xaa,0x66,0x55,0xf8,0x0,0x22,0x6a,0x58,0x61, 230 | 0x29,0x36,0xb2,0x44,0x89,0x6a,0x8,0x85,0x60, 231 | 0x2d,0xae,0x86,0xc2,0xa8,0xc,0x0, 232 | }; 233 | 234 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/arko rotate/fonts.h: -------------------------------------------------------------------------------- 1 | __eds__ uint8_t FontStart[] __attribute__((space(eds) section("FONTS"))) = { 2 | // classic 8x6 bitmapped font 3 | 0x00, 0x00, 4 | 0x00, 0x00, // first char 5 | 0x7F, 0x00, // last char 6 | 0x08, 0x00, // height 7 | // glyph table 8 | 6, // width 0 9 | 8,2,0, 10 | 6, // width 1 11 | 16,2,0, 12 | 6, // width 2 13 | 24,2,0, 14 | 6, // width 3 15 | 32,2,0, 16 | 6, // width 4 17 | 40,2,0, 18 | 6, // width 5 19 | 48,2,0, 20 | 6, // width 6 21 | 56,2,0, 22 | 6, // width 7 23 | 64,2,0, 24 | 6, // width 8 25 | 72,2,0, 26 | 6, // width 9 27 | 80,2,0, 28 | 6, // width 10 29 | 88,2,0, 30 | 6, // width 11 31 | 96,2,0, 32 | 6, // width 12 33 | 104,2,0, 34 | 6, // width 13 35 | 112,2,0, 36 | 6, // width 14 37 | 120,2,0, 38 | 6, // width 15 39 | 128,2,0, 40 | 6, // width 16 41 | 136,2,0, 42 | 6, // width 17 43 | 144,2,0, 44 | 6, // width 18 45 | 152,2,0, 46 | 6, // width 19 47 | 160,2,0, 48 | 6, // width 20 49 | 168,2,0, 50 | 6, // width 21 51 | 176,2,0, 52 | 6, // width 22 53 | 184,2,0, 54 | 6, // width 23 55 | 192,2,0, 56 | 6, // width 24 57 | 200,2,0, 58 | 6, // width 25 59 | 208,2,0, 60 | 6, // width 26 61 | 216,2,0, 62 | 6, // width 27 63 | 224,2,0, 64 | 6, // width 28 65 | 232,2,0, 66 | 6, // width 29 67 | 240,2,0, 68 | 6, // width 30, 69 | 248,2,0, 70 | 6, // width 31 71 | 0,3,0, 72 | 6, // width 32 73 | 8,3,0, 74 | 6, // width 33 75 | 16,3,0, 76 | 6, // width 34 77 | 24,3,0, 78 | 6, // width 35 79 | 32,3,0, 80 | 6, // width 36 81 | 40,3,0, 82 | 6, // width 37 83 | 48,3,0, 84 | 6, // width 38 85 | 56,3,0, 86 | 6, // width 39 87 | 64,3,0, 88 | 6, // width 40 89 | 72,3,0, 90 | 6, // width 41 91 | 80,3,0, 92 | 6, // width 42 93 | 88,3,0, 94 | 6, // width 43 95 | 96,3,0, 96 | 6, // width 44 97 | 104,3,0, 98 | 6, // width 45 99 | 112,3,0, 100 | 6, // width 46 101 | 120,3,0, 102 | 6, // width 47 103 | 128,3,0, 104 | 6, // width 48 105 | 136,3,0, 106 | 6, // width 49 107 | 144,3,0, 108 | 6, // width 50 109 | 152,3,0, 110 | 6, // width 51 111 | 160,3,0, 112 | 6, // width 52 113 | 168,3,0, 114 | 6, // width 53 115 | 176,3,0, 116 | 6, // width 54 117 | 184,3,0, 118 | 6, // width 55 119 | 192,3,0, 120 | 6, // width 56 121 | 200,3,0, 122 | 6, // width 57 123 | 208,3,0, 124 | 6, // width 58 125 | 216,3,0, 126 | 6, // width 59 127 | 224,3,0, 128 | 6, // width 60 129 | 232,3,0, 130 | 6, // width 61 131 | 240,3,0, 132 | 6, // width 62 133 | 248,3,0, 134 | 6, // width 63 135 | 0,4,0, 136 | 6, // width 64 137 | 8,4,0, 138 | 6, // width 65 139 | 16,4,0, 140 | 6, // width 66 141 | 24,4,0, 142 | 6, // width 67 143 | 32,4,0, 144 | 6, // width 68 145 | 40,4,0, 146 | 6, // width 69 147 | 48,4,0, 148 | 6, // width 70 149 | 56,4,0, 150 | 6, // width 71 151 | 64,4,0, 152 | 6, // width 72 153 | 72,4,0, 154 | 6, // width 73 155 | 80,4,0, 156 | 6, // width 74 157 | 88,4,0, 158 | 6, // width 75 159 | 96,4,0, 160 | 6, // width 76 161 | 104,4,0, 162 | 6, // width 77 163 | 112,4,0, 164 | 6, // width 78 165 | 120,4,0, 166 | 6, // width 79 167 | 128,4,0, 168 | 6, // width 80 169 | 136,4,0, 170 | 6, // width 81 171 | 144,4,0, 172 | 6, // width 82 173 | 152,4,0, 174 | 6, // width 83 175 | 160,4,0, 176 | 6, // width 84 177 | 168,4,0, 178 | 6, // width 85 179 | 176,4,0, 180 | 6, // width 86 181 | 184,4,0, 182 | 6, // width 87 183 | 192,4,0, 184 | 6, // width 88 185 | 200,4,0, 186 | 6, // width 89 187 | 208,4,0, 188 | 6, // width 90 189 | 216,4,0, 190 | 6, // width 91 191 | 224,4,0, 192 | 6, // width 92 193 | 232,4,0, 194 | 6, // width 93 195 | 240,4,0, 196 | 6, // width 94 197 | 248,4,0, 198 | 6, // width 95 199 | 0,5,0, 200 | 6, // width 96 201 | 8,5,0, 202 | 6, // width 97 203 | 16,5,0, 204 | 6, // width 98 205 | 24,5,0, 206 | 6, // width 99 207 | 32,5,0, 208 | 6, // width 100 209 | 40,5,0, 210 | 6, // width 101 211 | 48,5,0, 212 | 6, // width 102 213 | 56,5,0, 214 | 6, // width 103 215 | 64,5,0, 216 | 6, // width 104 217 | 72,5,0, 218 | 6, // width 105 219 | 80,5,0, 220 | 6, // width 106 221 | 88,5,0, 222 | 6, // width 107 223 | 96,5,0, 224 | 6, // width 108 225 | 104,5,0, 226 | 6, // width 109 227 | 112,5,0, 228 | 6, // width 110 229 | 120,5,0, 230 | 6, // width 111 231 | 128,5,0, 232 | 6, // width 112 233 | 136,5,0, 234 | 6, // width 113 235 | 144,5,0, 236 | 6, // width 114 237 | 152,5,0, 238 | 6, // width 115 239 | 160,5,0, 240 | 6, // width 116 241 | 168,5,0, 242 | 6, // width 117 243 | 176,5,0, 244 | 6, // width 118 245 | 184,5,0, 246 | 6, // width 119 247 | 192,5,0, 248 | 6, // width 120 249 | 200,5,0, 250 | 6, // width 121 251 | 208,5,0, 252 | 6, // width 122 253 | 216,5,0, 254 | 6, // width 123 255 | 224,5,0, 256 | 6, // width 124 257 | 232,5,0, 258 | 6, // width 125 259 | 240,5,0, 260 | 6, // width 126 261 | 248,5,0, 262 | 6, // width 127 263 | 0,6,0, 264 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x00 265 | 0x1C,0x22,0x36,0x22,0x2A,0x22,0x1C,0x00, // 0x01 266 | 0x1C,0x3E,0x2A,0x3E,0x22,0x3E,0x1C,0x00, // 0x02 267 | 0x00,0x14,0x3E,0x3E,0x3E,0x1C,0x08,0x00, // 0x03 268 | 0x00,0x08,0x1C,0x3E,0x3E,0x1C,0x08,0x00, // 0x04 269 | 0x08,0x1C,0x1C,0x08,0x3E,0x3E,0x08,0x00, // 0x05 270 | 0x00,0x08,0x1C,0x3E,0x3E,0x08,0x1C,0x00, // 0x06 271 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x07 272 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x08 273 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x09 274 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x0A 275 | 0x00,0x38,0x30,0x2C,0x12,0x12,0x0C,0x00, // 0x0B 276 | 0x1C,0x22,0x22,0x1C,0x08,0x1C,0x08,0x00, // 0x0C 277 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x0D 278 | 0x30,0x2C,0x34,0x2C,0x34,0x36,0x06,0x00, // 0x0E 279 | 0x00,0x2A,0x1C,0x36,0x1C,0x2A,0x00,0x00, // 0x0F 280 | 0x04,0x0C,0x1C,0x3C,0x1C,0x0C,0x04,0x00, // 0x10 281 | 0x10,0x18,0x1C,0x1E,0x1C,0x18,0x10,0x00, // 0x11 282 | 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x00, // 0x12 283 | 0x14,0x14,0x14,0x14,0x14,0x00,0x14,0x00, // 0x13 284 | 0x3C,0x2A,0x2A,0x2C,0x28,0x28,0x28,0x00, // 0x14 285 | 0x1C,0x22,0x0C,0x14,0x18,0x22,0x1C,0x00, // 0x15 286 | 0x00,0x00,0x00,0x00,0x00,0x1E,0x1E,0x00, // 0x16 287 | 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x1C, // 0x17 288 | 0x08,0x1C,0x3E,0x08,0x08,0x08,0x08,0x00, // 0x18 289 | 0x08,0x08,0x08,0x08,0x3E,0x1C,0x08,0x00, // 0x19 290 | 0x00,0x08,0x18,0x3E,0x18,0x08,0x00,0x00, // 0x1A 291 | 0x00,0x08,0x0C,0x3E,0x0C,0x08,0x00,0x00, // 0x1B 292 | 0x00,0x00,0x00,0x02,0x02,0x02,0x3E,0x00, // 0x1C 293 | 0x00,0x14,0x14,0x3E,0x14,0x14,0x00,0x00, // 0x1D 294 | 0x08,0x08,0x1C,0x1C,0x3E,0x3E,0x00,0x00, // 0x1E 295 | 0x3E,0x3E,0x1C,0x1C,0x08,0x08,0x00,0x00, // 0x1F 296 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 297 | 0x08,0x1C,0x1C,0x08,0x08,0x00,0x08,0x00, // 0x21 298 | 0x36,0x36,0x12,0x00,0x00,0x00,0x00,0x00, // 0x22 299 | 0x00,0x14,0x3E,0x14,0x14,0x3E,0x14,0x00, // 0x23 300 | 0x04,0x1C,0x02,0x0C,0x10,0x0E,0x08,0x00, // 0x24 301 | 0x26,0x26,0x10,0x08,0x04,0x32,0x32,0x00, // 0x25 302 | 0x04,0x0A,0x0A,0x04,0x2A,0x12,0x2C,0x00, // 0x26 303 | 0x0C,0x0C,0x04,0x00,0x00,0x00,0x00,0x00, // 0x27 304 | 0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x00, // 0x28 305 | 0x04,0x08,0x08,0x08,0x08,0x08,0x04,0x00, // 0x29 306 | 0x00,0x14,0x1C,0x3E,0x1C,0x14,0x00,0x00, // 0x2A 307 | 0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00, // 0x2B 308 | 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x04, // 0x2C 309 | 0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00, // 0x2D 310 | 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00, // 0x2E 311 | 0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00, // 0x2F 312 | 0x1C,0x22,0x32,0x2A,0x26,0x22,0x1C,0x00, // 0x30 313 | 0x08,0x0C,0x08,0x08,0x08,0x08,0x1C,0x00, // 0x31 314 | 0x1C,0x22,0x20,0x18,0x04,0x02,0x3E,0x00, // 0x32 315 | 0x1C,0x22,0x20,0x1C,0x20,0x22,0x1C,0x00, // 0x33 316 | 0x10,0x18,0x14,0x12,0x3E,0x10,0x10,0x00, // 0x34 317 | 0x3E,0x02,0x02,0x1E,0x20,0x22,0x1C,0x00, // 0x35 318 | 0x18,0x04,0x02,0x1E,0x22,0x22,0x1C,0x00, // 0x36 319 | 0x3E,0x20,0x10,0x08,0x04,0x04,0x04,0x00, // 0x37 320 | 0x1C,0x22,0x22,0x1C,0x22,0x22,0x1C,0x00, // 0x38 321 | 0x1C,0x22,0x22,0x3C,0x20,0x10,0x0C,0x00, // 0x39 322 | 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x00, // 0x3A 323 | 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x04, // 0x3B 324 | 0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x00, // 0x3C 325 | 0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00, // 0x3D 326 | 0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00, // 0x3E 327 | 0x1C,0x22,0x20,0x18,0x08,0x00,0x08,0x00, // 0x3F 328 | 0x1C,0x22,0x3A,0x2A,0x3A,0x02,0x1C,0x00, // 0x40 329 | 0x1C,0x22,0x22,0x22,0x3E,0x22,0x22,0x00, // 0x41 330 | 0x1E,0x22,0x22,0x1E,0x22,0x22,0x1E,0x00, // 0x42 331 | 0x1C,0x22,0x02,0x02,0x02,0x22,0x1C,0x00, // 0x43 332 | 0x1E,0x22,0x22,0x22,0x22,0x22,0x1E,0x00, // 0x44 333 | 0x3E,0x02,0x02,0x1E,0x02,0x02,0x3E,0x00, // 0x45 334 | 0x3E,0x02,0x02,0x1E,0x02,0x02,0x02,0x00, // 0x46 335 | 0x1C,0x22,0x02,0x3A,0x22,0x22,0x3C,0x00, // 0x47 336 | 0x22,0x22,0x22,0x3E,0x22,0x22,0x22,0x00, // 0x48 337 | 0x1C,0x08,0x08,0x08,0x08,0x08,0x1C,0x00, // 0x49 338 | 0x20,0x20,0x20,0x20,0x22,0x22,0x1C,0x00, // 0x4A 339 | 0x22,0x12,0x0A,0x06,0x0A,0x12,0x22,0x00, // 0x4B 340 | 0x02,0x02,0x02,0x02,0x02,0x02,0x3E,0x00, // 0x4C 341 | 0x22,0x36,0x2A,0x22,0x22,0x22,0x22,0x00, // 0x4D 342 | 0x22,0x26,0x2A,0x32,0x22,0x22,0x22,0x00, // 0x4E 343 | 0x1C,0x22,0x22,0x22,0x22,0x22,0x1C,0x00, // 0x4F 344 | 0x1E,0x22,0x22,0x1E,0x02,0x02,0x02,0x00, // 0x50 345 | 0x1C,0x22,0x22,0x22,0x2A,0x12,0x2C,0x00, // 0x51 346 | 0x1E,0x22,0x22,0x1E,0x12,0x22,0x22,0x00, // 0x52 347 | 0x1C,0x22,0x02,0x1C,0x20,0x22,0x1C,0x00, // 0x53 348 | 0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x00, // 0x54 349 | 0x22,0x22,0x22,0x22,0x22,0x22,0x1C,0x00, // 0x55 350 | 0x22,0x22,0x22,0x22,0x22,0x14,0x08,0x00, // 0x56 351 | 0x22,0x22,0x2A,0x2A,0x2A,0x2A,0x14,0x00, // 0x57 352 | 0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00, // 0x58 353 | 0x22,0x22,0x22,0x14,0x08,0x08,0x08,0x00, // 0x59 354 | 0x1E,0x10,0x08,0x04,0x02,0x02,0x1E,0x00, // 0x5A 355 | 0x1C,0x04,0x04,0x04,0x04,0x04,0x1C,0x00, // 0x5B 356 | 0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00, // 0x5C 357 | 0x1C,0x10,0x10,0x10,0x10,0x10,0x1C,0x00, // 0x5D 358 | 0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00, // 0x5E 359 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F, // 0x5F 360 | 0x0C,0x0C,0x08,0x00,0x00,0x00,0x00,0x00, // 0x60 361 | 0x00,0x00,0x1C,0x20,0x3C,0x22,0x3C,0x00, // 0x61 362 | 0x02,0x02,0x1E,0x22,0x22,0x22,0x1E,0x00, // 0x62 363 | 0x00,0x00,0x1C,0x22,0x02,0x22,0x1C,0x00, // 0x63 364 | 0x20,0x20,0x3C,0x22,0x22,0x22,0x3C,0x00, // 0x64 365 | 0x00,0x00,0x1C,0x22,0x1E,0x02,0x1C,0x00, // 0x65 366 | 0x18,0x04,0x04,0x1E,0x04,0x04,0x04,0x00, // 0x66 367 | 0x00,0x00,0x3C,0x22,0x22,0x3C,0x20,0x1C, // 0x67 368 | 0x02,0x02,0x0E,0x12,0x12,0x12,0x12,0x00, // 0x68 369 | 0x08,0x00,0x08,0x08,0x08,0x08,0x18,0x00, // 0x69 370 | 0x10,0x00,0x18,0x10,0x10,0x10,0x12,0x0C, // 0x6A 371 | 0x02,0x02,0x12,0x0A,0x06,0x0A,0x12,0x00, // 0x6B 372 | 0x08,0x08,0x08,0x08,0x08,0x08,0x18,0x00, // 0x6C 373 | 0x00,0x00,0x16,0x2A,0x2A,0x22,0x22,0x00, // 0x6D 374 | 0x00,0x00,0x0E,0x12,0x12,0x12,0x12,0x00, // 0x6E 375 | 0x00,0x00,0x1C,0x22,0x22,0x22,0x1C,0x00, // 0x6F 376 | 0x00,0x00,0x1E,0x22,0x22,0x22,0x1E,0x02, // 0x70 377 | 0x00,0x00,0x3C,0x22,0x22,0x22,0x3C,0x20, // 0x71 378 | 0x00,0x00,0x1A,0x24,0x04,0x04,0x0E,0x00, // 0x72 379 | 0x00,0x00,0x1C,0x02,0x1C,0x20,0x1C,0x00, // 0x73 380 | 0x00,0x04,0x1E,0x04,0x04,0x14,0x08,0x00, // 0x74 381 | 0x00,0x00,0x12,0x12,0x12,0x1A,0x14,0x00, // 0x75 382 | 0x00,0x00,0x22,0x22,0x22,0x14,0x08,0x00, // 0x76 383 | 0x00,0x00,0x22,0x22,0x2A,0x3E,0x14,0x00, // 0x77 384 | 0x00,0x00,0x12,0x12,0x0C,0x12,0x12,0x00, // 0x78 385 | 0x00,0x00,0x12,0x12,0x12,0x1C,0x08,0x06, // 0x79 386 | 0x00,0x00,0x1E,0x10,0x0C,0x02,0x1E,0x00, // 0x7A 387 | 0x18,0x04,0x04,0x06,0x04,0x04,0x18,0x00, // 0x7B 388 | 0x08,0x08,0x08,0x00,0x08,0x08,0x08,0x00, // 0x7C 389 | 0x0C,0x10,0x10,0x30,0x10,0x10,0x0C,0x00, // 0x7D 390 | 0x14,0x0A,0x00,0x00,0x00,0x00,0x00,0x00, // 0x7E 391 | 0x08,0x1C,0x36,0x22,0x22,0x3E,0x00,0x00, // 0x7F 392 | }; 393 | 394 | -------------------------------------------------------------------------------- /L1Demo-asm-example/Fonts.inc: -------------------------------------------------------------------------------- 1 | FontStart: 2 | 3 | ; classic 8x6 bitmapped font 4 | .byte 0x00, 0x00 5 | .byte 0x00, 0x00 ; first char 6 | .byte 0x7F, 0x00 ; last char 7 | .byte 0x08, 0x00 ; height 8 | ; glyph table 9 | .byte 6 ; width 0 10 | .byte 8,2,0 11 | .byte 6 ; width 1 12 | .byte 16,2,0 13 | .byte 6 ; width 2 14 | .byte 24,2,0 15 | .byte 6 ; width 3 16 | .byte 32,2,0 17 | .byte 6 ; width 4 18 | .byte 40,2,0 19 | .byte 6 ; width 5 20 | .byte 48,2,0 21 | .byte 6 ; width 6 22 | .byte 56,2,0 23 | .byte 6 ; width 7 24 | .byte 64,2,0 25 | .byte 6 ; width 8 26 | .byte 72,2,0 27 | .byte 6 ; width 9 28 | .byte 80,2,0 29 | .byte 6 ; width 10 30 | .byte 88,2,0 31 | .byte 6 ; width 11 32 | .byte 96,2,0 33 | .byte 6 ; width 12 34 | .byte 104,2,0 35 | .byte 6 ; width 13 36 | .byte 112,2,0 37 | .byte 6 ; width 14 38 | .byte 120,2,0 39 | .byte 6 ; width 15 40 | .byte 128,2,0 41 | .byte 6 ; width 16 42 | .byte 136,2,0 43 | .byte 6 ; width 17 44 | .byte 144,2,0 45 | .byte 6 ; width 18 46 | .byte 152,2,0 47 | .byte 6 ; width 19 48 | .byte 160,2,0 49 | .byte 6 ; width 20 50 | .byte 168,2,0 51 | .byte 6 ; width 21 52 | .byte 176,2,0 53 | .byte 6 ; width 22 54 | .byte 184,2,0 55 | .byte 6 ; width 23 56 | .byte 192,2,0 57 | .byte 6 ; width 24 58 | .byte 200,2,0 59 | .byte 6 ; width 25 60 | .byte 208,2,0 61 | .byte 6 ; width 26 62 | .byte 216,2,0 63 | .byte 6 ; width 27 64 | .byte 224,2,0 65 | .byte 6 ; width 28 66 | .byte 232,2,0 67 | .byte 6 ; width 29 68 | .byte 240,2,0 69 | .byte 6 ; width 30 70 | .byte 248,2,0 71 | .byte 6 ; width 31 72 | .byte 0,3,0 73 | .byte 6 ; width 32 74 | .byte 8,3,0 75 | .byte 6 ; width 33 76 | .byte 16,3,0 77 | .byte 6 ; width 34 78 | .byte 24,3,0 79 | .byte 6 ; width 35 80 | .byte 32,3,0 81 | .byte 6 ; width 36 82 | .byte 40,3,0 83 | .byte 6 ; width 37 84 | .byte 48,3,0 85 | .byte 6 ; width 38 86 | .byte 56,3,0 87 | .byte 6 ; width 39 88 | .byte 64,3,0 89 | .byte 6 ; width 40 90 | .byte 72,3,0 91 | .byte 6 ; width 41 92 | .byte 80,3,0 93 | .byte 6 ; width 42 94 | .byte 88,3,0 95 | .byte 6 ; width 43 96 | .byte 96,3,0 97 | .byte 6 ; width 44 98 | .byte 104,3,0 99 | .byte 6 ; width 45 100 | .byte 112,3,0 101 | .byte 6 ; width 46 102 | .byte 120,3,0 103 | .byte 6 ; width 47 104 | .byte 128,3,0 105 | .byte 6 ; width 48 106 | .byte 136,3,0 107 | .byte 6 ; width 49 108 | .byte 144,3,0 109 | .byte 6 ; width 50 110 | .byte 152,3,0 111 | .byte 6 ; width 51 112 | .byte 160,3,0 113 | .byte 6 ; width 52 114 | .byte 168,3,0 115 | .byte 6 ; width 53 116 | .byte 176,3,0 117 | .byte 6 ; width 54 118 | .byte 184,3,0 119 | .byte 6 ; width 55 120 | .byte 192,3,0 121 | .byte 6 ; width 56 122 | .byte 200,3,0 123 | .byte 6 ; width 57 124 | .byte 208,3,0 125 | .byte 6 ; width 58 126 | .byte 216,3,0 127 | .byte 6 ; width 59 128 | .byte 224,3,0 129 | .byte 6 ; width 60 130 | .byte 232,3,0 131 | .byte 6 ; width 61 132 | .byte 240,3,0 133 | .byte 6 ; width 62 134 | .byte 248,3,0 135 | .byte 6 ; width 63 136 | .byte 0,4,0 137 | .byte 6 ; width 64 138 | .byte 8,4,0 139 | .byte 6 ; width 65 140 | .byte 16,4,0 141 | .byte 6 ; width 66 142 | .byte 24,4,0 143 | .byte 6 ; width 67 144 | .byte 32,4,0 145 | .byte 6 ; width 68 146 | .byte 40,4,0 147 | .byte 6 ; width 69 148 | .byte 48,4,0 149 | .byte 6 ; width 70 150 | .byte 56,4,0 151 | .byte 6 ; width 71 152 | .byte 64,4,0 153 | .byte 6 ; width 72 154 | .byte 72,4,0 155 | .byte 6 ; width 73 156 | .byte 80,4,0 157 | .byte 6 ; width 74 158 | .byte 88,4,0 159 | .byte 6 ; width 75 160 | .byte 96,4,0 161 | .byte 6 ; width 76 162 | .byte 104,4,0 163 | .byte 6 ; width 77 164 | .byte 112,4,0 165 | .byte 6 ; width 78 166 | .byte 120,4,0 167 | .byte 6 ; width 79 168 | .byte 128,4,0 169 | .byte 6 ; width 80 170 | .byte 136,4,0 171 | .byte 6 ; width 81 172 | .byte 144,4,0 173 | .byte 6 ; width 82 174 | .byte 152,4,0 175 | .byte 6 ; width 83 176 | .byte 160,4,0 177 | .byte 6 ; width 84 178 | .byte 168,4,0 179 | .byte 6 ; width 85 180 | .byte 176,4,0 181 | .byte 6 ; width 86 182 | .byte 184,4,0 183 | .byte 6 ; width 87 184 | .byte 192,4,0 185 | .byte 6 ; width 88 186 | .byte 200,4,0 187 | .byte 6 ; width 89 188 | .byte 208,4,0 189 | .byte 6 ; width 90 190 | .byte 216,4,0 191 | .byte 6 ; width 91 192 | .byte 224,4,0 193 | .byte 6 ; width 92 194 | .byte 232,4,0 195 | .byte 6 ; width 93 196 | .byte 240,4,0 197 | .byte 6 ; width 94 198 | .byte 248,4,0 199 | .byte 6 ; width 95 200 | .byte 0,5,0 201 | .byte 6 ; width 96 202 | .byte 8,5,0 203 | .byte 6 ; width 97 204 | .byte 16,5,0 205 | .byte 6 ; width 98 206 | .byte 24,5,0 207 | .byte 6 ; width 99 208 | .byte 32,5,0 209 | .byte 6 ; width 100 210 | .byte 40,5,0 211 | .byte 6 ; width 101 212 | .byte 48,5,0 213 | .byte 6 ; width 102 214 | .byte 56,5,0 215 | .byte 6 ; width 103 216 | .byte 64,5,0 217 | .byte 6 ; width 104 218 | .byte 72,5,0 219 | .byte 6 ; width 105 220 | .byte 80,5,0 221 | .byte 6 ; width 106 222 | .byte 88,5,0 223 | .byte 6 ; width 107 224 | .byte 96,5,0 225 | .byte 6 ; width 108 226 | .byte 104,5,0 227 | .byte 6 ; width 109 228 | .byte 112,5,0 229 | .byte 6 ; width 110 230 | .byte 120,5,0 231 | .byte 6 ; width 111 232 | .byte 128,5,0 233 | .byte 6 ; width 112 234 | .byte 136,5,0 235 | .byte 6 ; width 113 236 | .byte 144,5,0 237 | .byte 6 ; width 114 238 | .byte 152,5,0 239 | .byte 6 ; width 115 240 | .byte 160,5,0 241 | .byte 6 ; width 116 242 | .byte 168,5,0 243 | .byte 6 ; width 117 244 | .byte 176,5,0 245 | .byte 6 ; width 118 246 | .byte 184,5,0 247 | .byte 6 ; width 119 248 | .byte 192,5,0 249 | .byte 6 ; width 120 250 | .byte 200,5,0 251 | .byte 6 ; width 121 252 | .byte 208,5,0 253 | .byte 6 ; width 122 254 | .byte 216,5,0 255 | .byte 6 ; width 123 256 | .byte 224,5,0 257 | .byte 6 ; width 124 258 | .byte 232,5,0 259 | .byte 6 ; width 125 260 | .byte 240,5,0 261 | .byte 6 ; width 126 262 | .byte 248,5,0 263 | .byte 6 ; width 127 264 | .byte 0,6,0 265 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x00 266 | .byte 0x1C,0x22,0x36,0x22,0x2A,0x22,0x1C,0x00 ; 0x01 267 | .byte 0x1C,0x3E,0x2A,0x3E,0x22,0x3E,0x1C,0x00 ; 0x02 268 | .byte 0x00,0x14,0x3E,0x3E,0x3E,0x1C,0x08,0x00 ; 0x03 269 | .byte 0x00,0x08,0x1C,0x3E,0x3E,0x1C,0x08,0x00 ; 0x04 270 | .byte 0x08,0x1C,0x1C,0x08,0x3E,0x3E,0x08,0x00 ; 0x05 271 | .byte 0x00,0x08,0x1C,0x3E,0x3E,0x08,0x1C,0x00 ; 0x06 272 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x07 273 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x08 274 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x09 275 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x0A 276 | .byte 0x00,0x38,0x30,0x2C,0x12,0x12,0x0C,0x00 ; 0x0B 277 | .byte 0x1C,0x22,0x22,0x1C,0x08,0x1C,0x08,0x00 ; 0x0C 278 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x0D 279 | .byte 0x30,0x2C,0x34,0x2C,0x34,0x36,0x06,0x00 ; 0x0E 280 | .byte 0x00,0x2A,0x1C,0x36,0x1C,0x2A,0x00,0x00 ; 0x0F 281 | .byte 0x04,0x0C,0x1C,0x3C,0x1C,0x0C,0x04,0x00 ; 0x10 282 | .byte 0x10,0x18,0x1C,0x1E,0x1C,0x18,0x10,0x00 ; 0x11 283 | .byte 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x00 ; 0x12 284 | .byte 0x14,0x14,0x14,0x14,0x14,0x00,0x14,0x00 ; 0x13 285 | .byte 0x3C,0x2A,0x2A,0x2C,0x28,0x28,0x28,0x00 ; 0x14 286 | .byte 0x1C,0x22,0x0C,0x14,0x18,0x22,0x1C,0x00 ; 0x15 287 | .byte 0x00,0x00,0x00,0x00,0x00,0x1E,0x1E,0x00 ; 0x16 288 | .byte 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x1C ; 0x17 289 | .byte 0x08,0x1C,0x3E,0x08,0x08,0x08,0x08,0x00 ; 0x18 290 | .byte 0x08,0x08,0x08,0x08,0x3E,0x1C,0x08,0x00 ; 0x19 291 | .byte 0x00,0x08,0x18,0x3E,0x18,0x08,0x00,0x00 ; 0x1A 292 | .byte 0x00,0x08,0x0C,0x3E,0x0C,0x08,0x00,0x00 ; 0x1B 293 | .byte 0x00,0x00,0x00,0x02,0x02,0x02,0x3E,0x00 ; 0x1C 294 | .byte 0x00,0x14,0x14,0x3E,0x14,0x14,0x00,0x00 ; 0x1D 295 | .byte 0x08,0x08,0x1C,0x1C,0x3E,0x3E,0x00,0x00 ; 0x1E 296 | .byte 0x3E,0x3E,0x1C,0x1C,0x08,0x08,0x00,0x00 ; 0x1F 297 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x20 298 | .byte 0x08,0x1C,0x1C,0x08,0x08,0x00,0x08,0x00 ; 0x21 299 | .byte 0x36,0x36,0x12,0x00,0x00,0x00,0x00,0x00 ; 0x22 300 | .byte 0x00,0x14,0x3E,0x14,0x14,0x3E,0x14,0x00 ; 0x23 301 | .byte 0x04,0x1C,0x02,0x0C,0x10,0x0E,0x08,0x00 ; 0x24 302 | .byte 0x26,0x26,0x10,0x08,0x04,0x32,0x32,0x00 ; 0x25 303 | .byte 0x04,0x0A,0x0A,0x04,0x2A,0x12,0x2C,0x00 ; 0x26 304 | .byte 0x0C,0x0C,0x04,0x00,0x00,0x00,0x00,0x00 ; 0x27 305 | .byte 0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x00 ; 0x28 306 | .byte 0x04,0x08,0x08,0x08,0x08,0x08,0x04,0x00 ; 0x29 307 | .byte 0x00,0x14,0x1C,0x3E,0x1C,0x14,0x00,0x00 ; 0x2A 308 | .byte 0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00 ; 0x2B 309 | .byte 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x04 ; 0x2C 310 | .byte 0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00 ; 0x2D 311 | .byte 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00 ; 0x2E 312 | .byte 0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00 ; 0x2F 313 | .byte 0x1C,0x22,0x32,0x2A,0x26,0x22,0x1C,0x00 ; 0x30 314 | .byte 0x08,0x0C,0x08,0x08,0x08,0x08,0x1C,0x00 ; 0x31 315 | .byte 0x1C,0x22,0x20,0x18,0x04,0x02,0x3E,0x00 ; 0x32 316 | .byte 0x1C,0x22,0x20,0x1C,0x20,0x22,0x1C,0x00 ; 0x33 317 | .byte 0x10,0x18,0x14,0x12,0x3E,0x10,0x10,0x00 ; 0x34 318 | .byte 0x3E,0x02,0x02,0x1E,0x20,0x22,0x1C,0x00 ; 0x35 319 | .byte 0x18,0x04,0x02,0x1E,0x22,0x22,0x1C,0x00 ; 0x36 320 | .byte 0x3E,0x20,0x10,0x08,0x04,0x04,0x04,0x00 ; 0x37 321 | .byte 0x1C,0x22,0x22,0x1C,0x22,0x22,0x1C,0x00 ; 0x38 322 | .byte 0x1C,0x22,0x22,0x3C,0x20,0x10,0x0C,0x00 ; 0x39 323 | .byte 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x00 ; 0x3A 324 | .byte 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x04 ; 0x3B 325 | .byte 0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x00 ; 0x3C 326 | .byte 0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00 ; 0x3D 327 | .byte 0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00 ; 0x3E 328 | .byte 0x1C,0x22,0x20,0x18,0x08,0x00,0x08,0x00 ; 0x3F 329 | .byte 0x1C,0x22,0x3A,0x2A,0x3A,0x02,0x1C,0x00 ; 0x40 330 | .byte 0x1C,0x22,0x22,0x22,0x3E,0x22,0x22,0x00 ; 0x41 331 | .byte 0x1E,0x22,0x22,0x1E,0x22,0x22,0x1E,0x00 ; 0x42 332 | .byte 0x1C,0x22,0x02,0x02,0x02,0x22,0x1C,0x00 ; 0x43 333 | .byte 0x1E,0x22,0x22,0x22,0x22,0x22,0x1E,0x00 ; 0x44 334 | .byte 0x3E,0x02,0x02,0x1E,0x02,0x02,0x3E,0x00 ; 0x45 335 | .byte 0x3E,0x02,0x02,0x1E,0x02,0x02,0x02,0x00 ; 0x46 336 | .byte 0x1C,0x22,0x02,0x3A,0x22,0x22,0x3C,0x00 ; 0x47 337 | .byte 0x22,0x22,0x22,0x3E,0x22,0x22,0x22,0x00 ; 0x48 338 | .byte 0x1C,0x08,0x08,0x08,0x08,0x08,0x1C,0x00 ; 0x49 339 | .byte 0x20,0x20,0x20,0x20,0x22,0x22,0x1C,0x00 ; 0x4A 340 | .byte 0x22,0x12,0x0A,0x06,0x0A,0x12,0x22,0x00 ; 0x4B 341 | .byte 0x02,0x02,0x02,0x02,0x02,0x02,0x3E,0x00 ; 0x4C 342 | .byte 0x22,0x36,0x2A,0x22,0x22,0x22,0x22,0x00 ; 0x4D 343 | .byte 0x22,0x26,0x2A,0x32,0x22,0x22,0x22,0x00 ; 0x4E 344 | .byte 0x1C,0x22,0x22,0x22,0x22,0x22,0x1C,0x00 ; 0x4F 345 | .byte 0x1E,0x22,0x22,0x1E,0x02,0x02,0x02,0x00 ; 0x50 346 | .byte 0x1C,0x22,0x22,0x22,0x2A,0x12,0x2C,0x00 ; 0x51 347 | .byte 0x1E,0x22,0x22,0x1E,0x12,0x22,0x22,0x00 ; 0x52 348 | .byte 0x1C,0x22,0x02,0x1C,0x20,0x22,0x1C,0x00 ; 0x53 349 | .byte 0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x00 ; 0x54 350 | .byte 0x22,0x22,0x22,0x22,0x22,0x22,0x1C,0x00 ; 0x55 351 | .byte 0x22,0x22,0x22,0x22,0x22,0x14,0x08,0x00 ; 0x56 352 | .byte 0x22,0x22,0x2A,0x2A,0x2A,0x2A,0x14,0x00 ; 0x57 353 | .byte 0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00 ; 0x58 354 | .byte 0x22,0x22,0x22,0x14,0x08,0x08,0x08,0x00 ; 0x59 355 | .byte 0x1E,0x10,0x08,0x04,0x02,0x02,0x1E,0x00 ; 0x5A 356 | .byte 0x1C,0x04,0x04,0x04,0x04,0x04,0x1C,0x00 ; 0x5B 357 | .byte 0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00 ; 0x5C 358 | .byte 0x1C,0x10,0x10,0x10,0x10,0x10,0x1C,0x00 ; 0x5D 359 | .byte 0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00 ; 0x5E 360 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F ; 0x5F 361 | .byte 0x0C,0x0C,0x08,0x00,0x00,0x00,0x00,0x00 ; 0x60 362 | .byte 0x00,0x00,0x1C,0x20,0x3C,0x22,0x3C,0x00 ; 0x61 363 | .byte 0x02,0x02,0x1E,0x22,0x22,0x22,0x1E,0x00 ; 0x62 364 | .byte 0x00,0x00,0x1C,0x22,0x02,0x22,0x1C,0x00 ; 0x63 365 | .byte 0x20,0x20,0x3C,0x22,0x22,0x22,0x3C,0x00 ; 0x64 366 | .byte 0x00,0x00,0x1C,0x22,0x1E,0x02,0x1C,0x00 ; 0x65 367 | .byte 0x18,0x04,0x04,0x1E,0x04,0x04,0x04,0x00 ; 0x66 368 | .byte 0x00,0x00,0x3C,0x22,0x22,0x3C,0x20,0x1C ; 0x67 369 | .byte 0x02,0x02,0x0E,0x12,0x12,0x12,0x12,0x00 ; 0x68 370 | .byte 0x08,0x00,0x08,0x08,0x08,0x08,0x18,0x00 ; 0x69 371 | .byte 0x10,0x00,0x18,0x10,0x10,0x10,0x12,0x0C ; 0x6A 372 | .byte 0x02,0x02,0x12,0x0A,0x06,0x0A,0x12,0x00 ; 0x6B 373 | .byte 0x08,0x08,0x08,0x08,0x08,0x08,0x18,0x00 ; 0x6C 374 | .byte 0x00,0x00,0x16,0x2A,0x2A,0x22,0x22,0x00 ; 0x6D 375 | .byte 0x00,0x00,0x0E,0x12,0x12,0x12,0x12,0x00 ; 0x6E 376 | .byte 0x00,0x00,0x1C,0x22,0x22,0x22,0x1C,0x00 ; 0x6F 377 | .byte 0x00,0x00,0x1E,0x22,0x22,0x22,0x1E,0x02 ; 0x70 378 | .byte 0x00,0x00,0x3C,0x22,0x22,0x22,0x3C,0x20 ; 0x71 379 | .byte 0x00,0x00,0x1A,0x24,0x04,0x04,0x0E,0x00 ; 0x72 380 | .byte 0x00,0x00,0x1C,0x02,0x1C,0x20,0x1C,0x00 ; 0x73 381 | .byte 0x00,0x04,0x1E,0x04,0x04,0x14,0x08,0x00 ; 0x74 382 | .byte 0x00,0x00,0x12,0x12,0x12,0x1A,0x14,0x00 ; 0x75 383 | .byte 0x00,0x00,0x22,0x22,0x22,0x14,0x08,0x00 ; 0x76 384 | .byte 0x00,0x00,0x22,0x22,0x2A,0x3E,0x14,0x00 ; 0x77 385 | .byte 0x00,0x00,0x12,0x12,0x0C,0x12,0x12,0x00 ; 0x78 386 | .byte 0x00,0x00,0x12,0x12,0x12,0x1C,0x08,0x06 ; 0x79 387 | .byte 0x00,0x00,0x1E,0x10,0x0C,0x02,0x1E,0x00 ; 0x7A 388 | .byte 0x18,0x04,0x04,0x06,0x04,0x04,0x18,0x00 ; 0x7B 389 | .byte 0x08,0x08,0x08,0x00,0x08,0x08,0x08,0x00 ; 0x7C 390 | .byte 0x0C,0x10,0x10,0x30,0x10,0x10,0x0C,0x00 ; 0x7D 391 | .byte 0x14,0x0A,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x7E 392 | .byte 0x08,0x1C,0x36,0x22,0x22,0x3E,0x00,0x00 ; 0x7F 393 | 394 | FontEnd: 395 | 396 | -------------------------------------------------------------------------------- /L1Demo-asm-example_v8/Fonts.inc: -------------------------------------------------------------------------------- 1 | FontStart: 2 | 3 | ; classic 8x6 bitmapped font 4 | .byte 0x00, 0x00 5 | .byte 0x00, 0x00 ; first char 6 | .byte 0x7F, 0x00 ; last char 7 | .byte 0x08, 0x00 ; height 8 | ; glyph table 9 | .byte 6 ; width 0 10 | .byte 8,2,0 11 | .byte 6 ; width 1 12 | .byte 16,2,0 13 | .byte 6 ; width 2 14 | .byte 24,2,0 15 | .byte 6 ; width 3 16 | .byte 32,2,0 17 | .byte 6 ; width 4 18 | .byte 40,2,0 19 | .byte 6 ; width 5 20 | .byte 48,2,0 21 | .byte 6 ; width 6 22 | .byte 56,2,0 23 | .byte 6 ; width 7 24 | .byte 64,2,0 25 | .byte 6 ; width 8 26 | .byte 72,2,0 27 | .byte 6 ; width 9 28 | .byte 80,2,0 29 | .byte 6 ; width 10 30 | .byte 88,2,0 31 | .byte 6 ; width 11 32 | .byte 96,2,0 33 | .byte 6 ; width 12 34 | .byte 104,2,0 35 | .byte 6 ; width 13 36 | .byte 112,2,0 37 | .byte 6 ; width 14 38 | .byte 120,2,0 39 | .byte 6 ; width 15 40 | .byte 128,2,0 41 | .byte 6 ; width 16 42 | .byte 136,2,0 43 | .byte 6 ; width 17 44 | .byte 144,2,0 45 | .byte 6 ; width 18 46 | .byte 152,2,0 47 | .byte 6 ; width 19 48 | .byte 160,2,0 49 | .byte 6 ; width 20 50 | .byte 168,2,0 51 | .byte 6 ; width 21 52 | .byte 176,2,0 53 | .byte 6 ; width 22 54 | .byte 184,2,0 55 | .byte 6 ; width 23 56 | .byte 192,2,0 57 | .byte 6 ; width 24 58 | .byte 200,2,0 59 | .byte 6 ; width 25 60 | .byte 208,2,0 61 | .byte 6 ; width 26 62 | .byte 216,2,0 63 | .byte 6 ; width 27 64 | .byte 224,2,0 65 | .byte 6 ; width 28 66 | .byte 232,2,0 67 | .byte 6 ; width 29 68 | .byte 240,2,0 69 | .byte 6 ; width 30 70 | .byte 248,2,0 71 | .byte 6 ; width 31 72 | .byte 0,3,0 73 | .byte 6 ; width 32 74 | .byte 8,3,0 75 | .byte 6 ; width 33 76 | .byte 16,3,0 77 | .byte 6 ; width 34 78 | .byte 24,3,0 79 | .byte 6 ; width 35 80 | .byte 32,3,0 81 | .byte 6 ; width 36 82 | .byte 40,3,0 83 | .byte 6 ; width 37 84 | .byte 48,3,0 85 | .byte 6 ; width 38 86 | .byte 56,3,0 87 | .byte 6 ; width 39 88 | .byte 64,3,0 89 | .byte 6 ; width 40 90 | .byte 72,3,0 91 | .byte 6 ; width 41 92 | .byte 80,3,0 93 | .byte 6 ; width 42 94 | .byte 88,3,0 95 | .byte 6 ; width 43 96 | .byte 96,3,0 97 | .byte 6 ; width 44 98 | .byte 104,3,0 99 | .byte 6 ; width 45 100 | .byte 112,3,0 101 | .byte 6 ; width 46 102 | .byte 120,3,0 103 | .byte 6 ; width 47 104 | .byte 128,3,0 105 | .byte 6 ; width 48 106 | .byte 136,3,0 107 | .byte 6 ; width 49 108 | .byte 144,3,0 109 | .byte 6 ; width 50 110 | .byte 152,3,0 111 | .byte 6 ; width 51 112 | .byte 160,3,0 113 | .byte 6 ; width 52 114 | .byte 168,3,0 115 | .byte 6 ; width 53 116 | .byte 176,3,0 117 | .byte 6 ; width 54 118 | .byte 184,3,0 119 | .byte 6 ; width 55 120 | .byte 192,3,0 121 | .byte 6 ; width 56 122 | .byte 200,3,0 123 | .byte 6 ; width 57 124 | .byte 208,3,0 125 | .byte 6 ; width 58 126 | .byte 216,3,0 127 | .byte 6 ; width 59 128 | .byte 224,3,0 129 | .byte 6 ; width 60 130 | .byte 232,3,0 131 | .byte 6 ; width 61 132 | .byte 240,3,0 133 | .byte 6 ; width 62 134 | .byte 248,3,0 135 | .byte 6 ; width 63 136 | .byte 0,4,0 137 | .byte 6 ; width 64 138 | .byte 8,4,0 139 | .byte 6 ; width 65 140 | .byte 16,4,0 141 | .byte 6 ; width 66 142 | .byte 24,4,0 143 | .byte 6 ; width 67 144 | .byte 32,4,0 145 | .byte 6 ; width 68 146 | .byte 40,4,0 147 | .byte 6 ; width 69 148 | .byte 48,4,0 149 | .byte 6 ; width 70 150 | .byte 56,4,0 151 | .byte 6 ; width 71 152 | .byte 64,4,0 153 | .byte 6 ; width 72 154 | .byte 72,4,0 155 | .byte 6 ; width 73 156 | .byte 80,4,0 157 | .byte 6 ; width 74 158 | .byte 88,4,0 159 | .byte 6 ; width 75 160 | .byte 96,4,0 161 | .byte 6 ; width 76 162 | .byte 104,4,0 163 | .byte 6 ; width 77 164 | .byte 112,4,0 165 | .byte 6 ; width 78 166 | .byte 120,4,0 167 | .byte 6 ; width 79 168 | .byte 128,4,0 169 | .byte 6 ; width 80 170 | .byte 136,4,0 171 | .byte 6 ; width 81 172 | .byte 144,4,0 173 | .byte 6 ; width 82 174 | .byte 152,4,0 175 | .byte 6 ; width 83 176 | .byte 160,4,0 177 | .byte 6 ; width 84 178 | .byte 168,4,0 179 | .byte 6 ; width 85 180 | .byte 176,4,0 181 | .byte 6 ; width 86 182 | .byte 184,4,0 183 | .byte 6 ; width 87 184 | .byte 192,4,0 185 | .byte 6 ; width 88 186 | .byte 200,4,0 187 | .byte 6 ; width 89 188 | .byte 208,4,0 189 | .byte 6 ; width 90 190 | .byte 216,4,0 191 | .byte 6 ; width 91 192 | .byte 224,4,0 193 | .byte 6 ; width 92 194 | .byte 232,4,0 195 | .byte 6 ; width 93 196 | .byte 240,4,0 197 | .byte 6 ; width 94 198 | .byte 248,4,0 199 | .byte 6 ; width 95 200 | .byte 0,5,0 201 | .byte 6 ; width 96 202 | .byte 8,5,0 203 | .byte 6 ; width 97 204 | .byte 16,5,0 205 | .byte 6 ; width 98 206 | .byte 24,5,0 207 | .byte 6 ; width 99 208 | .byte 32,5,0 209 | .byte 6 ; width 100 210 | .byte 40,5,0 211 | .byte 6 ; width 101 212 | .byte 48,5,0 213 | .byte 6 ; width 102 214 | .byte 56,5,0 215 | .byte 6 ; width 103 216 | .byte 64,5,0 217 | .byte 6 ; width 104 218 | .byte 72,5,0 219 | .byte 6 ; width 105 220 | .byte 80,5,0 221 | .byte 6 ; width 106 222 | .byte 88,5,0 223 | .byte 6 ; width 107 224 | .byte 96,5,0 225 | .byte 6 ; width 108 226 | .byte 104,5,0 227 | .byte 6 ; width 109 228 | .byte 112,5,0 229 | .byte 6 ; width 110 230 | .byte 120,5,0 231 | .byte 6 ; width 111 232 | .byte 128,5,0 233 | .byte 6 ; width 112 234 | .byte 136,5,0 235 | .byte 6 ; width 113 236 | .byte 144,5,0 237 | .byte 6 ; width 114 238 | .byte 152,5,0 239 | .byte 6 ; width 115 240 | .byte 160,5,0 241 | .byte 6 ; width 116 242 | .byte 168,5,0 243 | .byte 6 ; width 117 244 | .byte 176,5,0 245 | .byte 6 ; width 118 246 | .byte 184,5,0 247 | .byte 6 ; width 119 248 | .byte 192,5,0 249 | .byte 6 ; width 120 250 | .byte 200,5,0 251 | .byte 6 ; width 121 252 | .byte 208,5,0 253 | .byte 6 ; width 122 254 | .byte 216,5,0 255 | .byte 6 ; width 123 256 | .byte 224,5,0 257 | .byte 6 ; width 124 258 | .byte 232,5,0 259 | .byte 6 ; width 125 260 | .byte 240,5,0 261 | .byte 6 ; width 126 262 | .byte 248,5,0 263 | .byte 6 ; width 127 264 | .byte 0,6,0 265 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x00 266 | .byte 0x1C,0x22,0x36,0x22,0x2A,0x22,0x1C,0x00 ; 0x01 267 | .byte 0x1C,0x3E,0x2A,0x3E,0x22,0x3E,0x1C,0x00 ; 0x02 268 | .byte 0x00,0x14,0x3E,0x3E,0x3E,0x1C,0x08,0x00 ; 0x03 269 | .byte 0x00,0x08,0x1C,0x3E,0x3E,0x1C,0x08,0x00 ; 0x04 270 | .byte 0x08,0x1C,0x1C,0x08,0x3E,0x3E,0x08,0x00 ; 0x05 271 | .byte 0x00,0x08,0x1C,0x3E,0x3E,0x08,0x1C,0x00 ; 0x06 272 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x07 273 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x08 274 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x09 275 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x0A 276 | .byte 0x00,0x38,0x30,0x2C,0x12,0x12,0x0C,0x00 ; 0x0B 277 | .byte 0x1C,0x22,0x22,0x1C,0x08,0x1C,0x08,0x00 ; 0x0C 278 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x0D 279 | .byte 0x30,0x2C,0x34,0x2C,0x34,0x36,0x06,0x00 ; 0x0E 280 | .byte 0x00,0x2A,0x1C,0x36,0x1C,0x2A,0x00,0x00 ; 0x0F 281 | .byte 0x04,0x0C,0x1C,0x3C,0x1C,0x0C,0x04,0x00 ; 0x10 282 | .byte 0x10,0x18,0x1C,0x1E,0x1C,0x18,0x10,0x00 ; 0x11 283 | .byte 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x00 ; 0x12 284 | .byte 0x14,0x14,0x14,0x14,0x14,0x00,0x14,0x00 ; 0x13 285 | .byte 0x3C,0x2A,0x2A,0x2C,0x28,0x28,0x28,0x00 ; 0x14 286 | .byte 0x1C,0x22,0x0C,0x14,0x18,0x22,0x1C,0x00 ; 0x15 287 | .byte 0x00,0x00,0x00,0x00,0x00,0x1E,0x1E,0x00 ; 0x16 288 | .byte 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x1C ; 0x17 289 | .byte 0x08,0x1C,0x3E,0x08,0x08,0x08,0x08,0x00 ; 0x18 290 | .byte 0x08,0x08,0x08,0x08,0x3E,0x1C,0x08,0x00 ; 0x19 291 | .byte 0x00,0x08,0x18,0x3E,0x18,0x08,0x00,0x00 ; 0x1A 292 | .byte 0x00,0x08,0x0C,0x3E,0x0C,0x08,0x00,0x00 ; 0x1B 293 | .byte 0x00,0x00,0x00,0x02,0x02,0x02,0x3E,0x00 ; 0x1C 294 | .byte 0x00,0x14,0x14,0x3E,0x14,0x14,0x00,0x00 ; 0x1D 295 | .byte 0x08,0x08,0x1C,0x1C,0x3E,0x3E,0x00,0x00 ; 0x1E 296 | .byte 0x3E,0x3E,0x1C,0x1C,0x08,0x08,0x00,0x00 ; 0x1F 297 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x20 298 | .byte 0x08,0x1C,0x1C,0x08,0x08,0x00,0x08,0x00 ; 0x21 299 | .byte 0x36,0x36,0x12,0x00,0x00,0x00,0x00,0x00 ; 0x22 300 | .byte 0x00,0x14,0x3E,0x14,0x14,0x3E,0x14,0x00 ; 0x23 301 | .byte 0x04,0x1C,0x02,0x0C,0x10,0x0E,0x08,0x00 ; 0x24 302 | .byte 0x26,0x26,0x10,0x08,0x04,0x32,0x32,0x00 ; 0x25 303 | .byte 0x04,0x0A,0x0A,0x04,0x2A,0x12,0x2C,0x00 ; 0x26 304 | .byte 0x0C,0x0C,0x04,0x00,0x00,0x00,0x00,0x00 ; 0x27 305 | .byte 0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x00 ; 0x28 306 | .byte 0x04,0x08,0x08,0x08,0x08,0x08,0x04,0x00 ; 0x29 307 | .byte 0x00,0x14,0x1C,0x3E,0x1C,0x14,0x00,0x00 ; 0x2A 308 | .byte 0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00 ; 0x2B 309 | .byte 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x04 ; 0x2C 310 | .byte 0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00 ; 0x2D 311 | .byte 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00 ; 0x2E 312 | .byte 0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00 ; 0x2F 313 | .byte 0x1C,0x22,0x32,0x2A,0x26,0x22,0x1C,0x00 ; 0x30 314 | .byte 0x08,0x0C,0x08,0x08,0x08,0x08,0x1C,0x00 ; 0x31 315 | .byte 0x1C,0x22,0x20,0x18,0x04,0x02,0x3E,0x00 ; 0x32 316 | .byte 0x1C,0x22,0x20,0x1C,0x20,0x22,0x1C,0x00 ; 0x33 317 | .byte 0x10,0x18,0x14,0x12,0x3E,0x10,0x10,0x00 ; 0x34 318 | .byte 0x3E,0x02,0x02,0x1E,0x20,0x22,0x1C,0x00 ; 0x35 319 | .byte 0x18,0x04,0x02,0x1E,0x22,0x22,0x1C,0x00 ; 0x36 320 | .byte 0x3E,0x20,0x10,0x08,0x04,0x04,0x04,0x00 ; 0x37 321 | .byte 0x1C,0x22,0x22,0x1C,0x22,0x22,0x1C,0x00 ; 0x38 322 | .byte 0x1C,0x22,0x22,0x3C,0x20,0x10,0x0C,0x00 ; 0x39 323 | .byte 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x00 ; 0x3A 324 | .byte 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x04 ; 0x3B 325 | .byte 0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x00 ; 0x3C 326 | .byte 0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00 ; 0x3D 327 | .byte 0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00 ; 0x3E 328 | .byte 0x1C,0x22,0x20,0x18,0x08,0x00,0x08,0x00 ; 0x3F 329 | .byte 0x1C,0x22,0x3A,0x2A,0x3A,0x02,0x1C,0x00 ; 0x40 330 | .byte 0x1C,0x22,0x22,0x22,0x3E,0x22,0x22,0x00 ; 0x41 331 | .byte 0x1E,0x22,0x22,0x1E,0x22,0x22,0x1E,0x00 ; 0x42 332 | .byte 0x1C,0x22,0x02,0x02,0x02,0x22,0x1C,0x00 ; 0x43 333 | .byte 0x1E,0x22,0x22,0x22,0x22,0x22,0x1E,0x00 ; 0x44 334 | .byte 0x3E,0x02,0x02,0x1E,0x02,0x02,0x3E,0x00 ; 0x45 335 | .byte 0x3E,0x02,0x02,0x1E,0x02,0x02,0x02,0x00 ; 0x46 336 | .byte 0x1C,0x22,0x02,0x3A,0x22,0x22,0x3C,0x00 ; 0x47 337 | .byte 0x22,0x22,0x22,0x3E,0x22,0x22,0x22,0x00 ; 0x48 338 | .byte 0x1C,0x08,0x08,0x08,0x08,0x08,0x1C,0x00 ; 0x49 339 | .byte 0x20,0x20,0x20,0x20,0x22,0x22,0x1C,0x00 ; 0x4A 340 | .byte 0x22,0x12,0x0A,0x06,0x0A,0x12,0x22,0x00 ; 0x4B 341 | .byte 0x02,0x02,0x02,0x02,0x02,0x02,0x3E,0x00 ; 0x4C 342 | .byte 0x22,0x36,0x2A,0x22,0x22,0x22,0x22,0x00 ; 0x4D 343 | .byte 0x22,0x26,0x2A,0x32,0x22,0x22,0x22,0x00 ; 0x4E 344 | .byte 0x1C,0x22,0x22,0x22,0x22,0x22,0x1C,0x00 ; 0x4F 345 | .byte 0x1E,0x22,0x22,0x1E,0x02,0x02,0x02,0x00 ; 0x50 346 | .byte 0x1C,0x22,0x22,0x22,0x2A,0x12,0x2C,0x00 ; 0x51 347 | .byte 0x1E,0x22,0x22,0x1E,0x12,0x22,0x22,0x00 ; 0x52 348 | .byte 0x1C,0x22,0x02,0x1C,0x20,0x22,0x1C,0x00 ; 0x53 349 | .byte 0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x00 ; 0x54 350 | .byte 0x22,0x22,0x22,0x22,0x22,0x22,0x1C,0x00 ; 0x55 351 | .byte 0x22,0x22,0x22,0x22,0x22,0x14,0x08,0x00 ; 0x56 352 | .byte 0x22,0x22,0x2A,0x2A,0x2A,0x2A,0x14,0x00 ; 0x57 353 | .byte 0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00 ; 0x58 354 | .byte 0x22,0x22,0x22,0x14,0x08,0x08,0x08,0x00 ; 0x59 355 | .byte 0x1E,0x10,0x08,0x04,0x02,0x02,0x1E,0x00 ; 0x5A 356 | .byte 0x1C,0x04,0x04,0x04,0x04,0x04,0x1C,0x00 ; 0x5B 357 | .byte 0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00 ; 0x5C 358 | .byte 0x1C,0x10,0x10,0x10,0x10,0x10,0x1C,0x00 ; 0x5D 359 | .byte 0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00 ; 0x5E 360 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F ; 0x5F 361 | .byte 0x0C,0x0C,0x08,0x00,0x00,0x00,0x00,0x00 ; 0x60 362 | .byte 0x00,0x00,0x1C,0x20,0x3C,0x22,0x3C,0x00 ; 0x61 363 | .byte 0x02,0x02,0x1E,0x22,0x22,0x22,0x1E,0x00 ; 0x62 364 | .byte 0x00,0x00,0x1C,0x22,0x02,0x22,0x1C,0x00 ; 0x63 365 | .byte 0x20,0x20,0x3C,0x22,0x22,0x22,0x3C,0x00 ; 0x64 366 | .byte 0x00,0x00,0x1C,0x22,0x1E,0x02,0x1C,0x00 ; 0x65 367 | .byte 0x18,0x04,0x04,0x1E,0x04,0x04,0x04,0x00 ; 0x66 368 | .byte 0x00,0x00,0x3C,0x22,0x22,0x3C,0x20,0x1C ; 0x67 369 | .byte 0x02,0x02,0x0E,0x12,0x12,0x12,0x12,0x00 ; 0x68 370 | .byte 0x08,0x00,0x08,0x08,0x08,0x08,0x18,0x00 ; 0x69 371 | .byte 0x10,0x00,0x18,0x10,0x10,0x10,0x12,0x0C ; 0x6A 372 | .byte 0x02,0x02,0x12,0x0A,0x06,0x0A,0x12,0x00 ; 0x6B 373 | .byte 0x08,0x08,0x08,0x08,0x08,0x08,0x18,0x00 ; 0x6C 374 | .byte 0x00,0x00,0x16,0x2A,0x2A,0x22,0x22,0x00 ; 0x6D 375 | .byte 0x00,0x00,0x0E,0x12,0x12,0x12,0x12,0x00 ; 0x6E 376 | .byte 0x00,0x00,0x1C,0x22,0x22,0x22,0x1C,0x00 ; 0x6F 377 | .byte 0x00,0x00,0x1E,0x22,0x22,0x22,0x1E,0x02 ; 0x70 378 | .byte 0x00,0x00,0x3C,0x22,0x22,0x22,0x3C,0x20 ; 0x71 379 | .byte 0x00,0x00,0x1A,0x24,0x04,0x04,0x0E,0x00 ; 0x72 380 | .byte 0x00,0x00,0x1C,0x02,0x1C,0x20,0x1C,0x00 ; 0x73 381 | .byte 0x00,0x04,0x1E,0x04,0x04,0x14,0x08,0x00 ; 0x74 382 | .byte 0x00,0x00,0x12,0x12,0x12,0x1A,0x14,0x00 ; 0x75 383 | .byte 0x00,0x00,0x22,0x22,0x22,0x14,0x08,0x00 ; 0x76 384 | .byte 0x00,0x00,0x22,0x22,0x2A,0x3E,0x14,0x00 ; 0x77 385 | .byte 0x00,0x00,0x12,0x12,0x0C,0x12,0x12,0x00 ; 0x78 386 | .byte 0x00,0x00,0x12,0x12,0x12,0x1C,0x08,0x06 ; 0x79 387 | .byte 0x00,0x00,0x1E,0x10,0x0C,0x02,0x1E,0x00 ; 0x7A 388 | .byte 0x18,0x04,0x04,0x06,0x04,0x04,0x18,0x00 ; 0x7B 389 | .byte 0x08,0x08,0x08,0x00,0x08,0x08,0x08,0x00 ; 0x7C 390 | .byte 0x0C,0x10,0x10,0x30,0x10,0x10,0x0C,0x00 ; 0x7D 391 | .byte 0x14,0x0A,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x7E 392 | .byte 0x08,0x1C,0x36,0x22,0x22,0x3E,0x00,0x00 ; 0x7F 393 | 394 | FontEnd: 395 | 396 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_audio/L1Demo-asm/Fonts.inc: -------------------------------------------------------------------------------- 1 | FontStart: 2 | 3 | ; classic 8x6 bitmapped font 4 | .byte 0x00, 0x00 5 | .byte 0x00, 0x00 ; first char 6 | .byte 0x7F, 0x00 ; last char 7 | .byte 0x08, 0x00 ; height 8 | ; glyph table 9 | .byte 6 ; width 0 10 | .byte 8,2,0 11 | .byte 6 ; width 1 12 | .byte 16,2,0 13 | .byte 6 ; width 2 14 | .byte 24,2,0 15 | .byte 6 ; width 3 16 | .byte 32,2,0 17 | .byte 6 ; width 4 18 | .byte 40,2,0 19 | .byte 6 ; width 5 20 | .byte 48,2,0 21 | .byte 6 ; width 6 22 | .byte 56,2,0 23 | .byte 6 ; width 7 24 | .byte 64,2,0 25 | .byte 6 ; width 8 26 | .byte 72,2,0 27 | .byte 6 ; width 9 28 | .byte 80,2,0 29 | .byte 6 ; width 10 30 | .byte 88,2,0 31 | .byte 6 ; width 11 32 | .byte 96,2,0 33 | .byte 6 ; width 12 34 | .byte 104,2,0 35 | .byte 6 ; width 13 36 | .byte 112,2,0 37 | .byte 6 ; width 14 38 | .byte 120,2,0 39 | .byte 6 ; width 15 40 | .byte 128,2,0 41 | .byte 6 ; width 16 42 | .byte 136,2,0 43 | .byte 6 ; width 17 44 | .byte 144,2,0 45 | .byte 6 ; width 18 46 | .byte 152,2,0 47 | .byte 6 ; width 19 48 | .byte 160,2,0 49 | .byte 6 ; width 20 50 | .byte 168,2,0 51 | .byte 6 ; width 21 52 | .byte 176,2,0 53 | .byte 6 ; width 22 54 | .byte 184,2,0 55 | .byte 6 ; width 23 56 | .byte 192,2,0 57 | .byte 6 ; width 24 58 | .byte 200,2,0 59 | .byte 6 ; width 25 60 | .byte 208,2,0 61 | .byte 6 ; width 26 62 | .byte 216,2,0 63 | .byte 6 ; width 27 64 | .byte 224,2,0 65 | .byte 6 ; width 28 66 | .byte 232,2,0 67 | .byte 6 ; width 29 68 | .byte 240,2,0 69 | .byte 6 ; width 30 70 | .byte 248,2,0 71 | .byte 6 ; width 31 72 | .byte 0,3,0 73 | .byte 6 ; width 32 74 | .byte 8,3,0 75 | .byte 6 ; width 33 76 | .byte 16,3,0 77 | .byte 6 ; width 34 78 | .byte 24,3,0 79 | .byte 6 ; width 35 80 | .byte 32,3,0 81 | .byte 6 ; width 36 82 | .byte 40,3,0 83 | .byte 6 ; width 37 84 | .byte 48,3,0 85 | .byte 6 ; width 38 86 | .byte 56,3,0 87 | .byte 6 ; width 39 88 | .byte 64,3,0 89 | .byte 6 ; width 40 90 | .byte 72,3,0 91 | .byte 6 ; width 41 92 | .byte 80,3,0 93 | .byte 6 ; width 42 94 | .byte 88,3,0 95 | .byte 6 ; width 43 96 | .byte 96,3,0 97 | .byte 6 ; width 44 98 | .byte 104,3,0 99 | .byte 6 ; width 45 100 | .byte 112,3,0 101 | .byte 6 ; width 46 102 | .byte 120,3,0 103 | .byte 6 ; width 47 104 | .byte 128,3,0 105 | .byte 6 ; width 48 106 | .byte 136,3,0 107 | .byte 6 ; width 49 108 | .byte 144,3,0 109 | .byte 6 ; width 50 110 | .byte 152,3,0 111 | .byte 6 ; width 51 112 | .byte 160,3,0 113 | .byte 6 ; width 52 114 | .byte 168,3,0 115 | .byte 6 ; width 53 116 | .byte 176,3,0 117 | .byte 6 ; width 54 118 | .byte 184,3,0 119 | .byte 6 ; width 55 120 | .byte 192,3,0 121 | .byte 6 ; width 56 122 | .byte 200,3,0 123 | .byte 6 ; width 57 124 | .byte 208,3,0 125 | .byte 6 ; width 58 126 | .byte 216,3,0 127 | .byte 6 ; width 59 128 | .byte 224,3,0 129 | .byte 6 ; width 60 130 | .byte 232,3,0 131 | .byte 6 ; width 61 132 | .byte 240,3,0 133 | .byte 6 ; width 62 134 | .byte 248,3,0 135 | .byte 6 ; width 63 136 | .byte 0,4,0 137 | .byte 6 ; width 64 138 | .byte 8,4,0 139 | .byte 6 ; width 65 140 | .byte 16,4,0 141 | .byte 6 ; width 66 142 | .byte 24,4,0 143 | .byte 6 ; width 67 144 | .byte 32,4,0 145 | .byte 6 ; width 68 146 | .byte 40,4,0 147 | .byte 6 ; width 69 148 | .byte 48,4,0 149 | .byte 6 ; width 70 150 | .byte 56,4,0 151 | .byte 6 ; width 71 152 | .byte 64,4,0 153 | .byte 6 ; width 72 154 | .byte 72,4,0 155 | .byte 6 ; width 73 156 | .byte 80,4,0 157 | .byte 6 ; width 74 158 | .byte 88,4,0 159 | .byte 6 ; width 75 160 | .byte 96,4,0 161 | .byte 6 ; width 76 162 | .byte 104,4,0 163 | .byte 6 ; width 77 164 | .byte 112,4,0 165 | .byte 6 ; width 78 166 | .byte 120,4,0 167 | .byte 6 ; width 79 168 | .byte 128,4,0 169 | .byte 6 ; width 80 170 | .byte 136,4,0 171 | .byte 6 ; width 81 172 | .byte 144,4,0 173 | .byte 6 ; width 82 174 | .byte 152,4,0 175 | .byte 6 ; width 83 176 | .byte 160,4,0 177 | .byte 6 ; width 84 178 | .byte 168,4,0 179 | .byte 6 ; width 85 180 | .byte 176,4,0 181 | .byte 6 ; width 86 182 | .byte 184,4,0 183 | .byte 6 ; width 87 184 | .byte 192,4,0 185 | .byte 6 ; width 88 186 | .byte 200,4,0 187 | .byte 6 ; width 89 188 | .byte 208,4,0 189 | .byte 6 ; width 90 190 | .byte 216,4,0 191 | .byte 6 ; width 91 192 | .byte 224,4,0 193 | .byte 6 ; width 92 194 | .byte 232,4,0 195 | .byte 6 ; width 93 196 | .byte 240,4,0 197 | .byte 6 ; width 94 198 | .byte 248,4,0 199 | .byte 6 ; width 95 200 | .byte 0,5,0 201 | .byte 6 ; width 96 202 | .byte 8,5,0 203 | .byte 6 ; width 97 204 | .byte 16,5,0 205 | .byte 6 ; width 98 206 | .byte 24,5,0 207 | .byte 6 ; width 99 208 | .byte 32,5,0 209 | .byte 6 ; width 100 210 | .byte 40,5,0 211 | .byte 6 ; width 101 212 | .byte 48,5,0 213 | .byte 6 ; width 102 214 | .byte 56,5,0 215 | .byte 6 ; width 103 216 | .byte 64,5,0 217 | .byte 6 ; width 104 218 | .byte 72,5,0 219 | .byte 6 ; width 105 220 | .byte 80,5,0 221 | .byte 6 ; width 106 222 | .byte 88,5,0 223 | .byte 6 ; width 107 224 | .byte 96,5,0 225 | .byte 6 ; width 108 226 | .byte 104,5,0 227 | .byte 6 ; width 109 228 | .byte 112,5,0 229 | .byte 6 ; width 110 230 | .byte 120,5,0 231 | .byte 6 ; width 111 232 | .byte 128,5,0 233 | .byte 6 ; width 112 234 | .byte 136,5,0 235 | .byte 6 ; width 113 236 | .byte 144,5,0 237 | .byte 6 ; width 114 238 | .byte 152,5,0 239 | .byte 6 ; width 115 240 | .byte 160,5,0 241 | .byte 6 ; width 116 242 | .byte 168,5,0 243 | .byte 6 ; width 117 244 | .byte 176,5,0 245 | .byte 6 ; width 118 246 | .byte 184,5,0 247 | .byte 6 ; width 119 248 | .byte 192,5,0 249 | .byte 6 ; width 120 250 | .byte 200,5,0 251 | .byte 6 ; width 121 252 | .byte 208,5,0 253 | .byte 6 ; width 122 254 | .byte 216,5,0 255 | .byte 6 ; width 123 256 | .byte 224,5,0 257 | .byte 6 ; width 124 258 | .byte 232,5,0 259 | .byte 6 ; width 125 260 | .byte 240,5,0 261 | .byte 6 ; width 126 262 | .byte 248,5,0 263 | .byte 6 ; width 127 264 | .byte 0,6,0 265 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x00 266 | .byte 0x1C,0x22,0x36,0x22,0x2A,0x22,0x1C,0x00 ; 0x01 267 | .byte 0x1C,0x3E,0x2A,0x3E,0x22,0x3E,0x1C,0x00 ; 0x02 268 | .byte 0x00,0x14,0x3E,0x3E,0x3E,0x1C,0x08,0x00 ; 0x03 269 | .byte 0x00,0x08,0x1C,0x3E,0x3E,0x1C,0x08,0x00 ; 0x04 270 | .byte 0x08,0x1C,0x1C,0x08,0x3E,0x3E,0x08,0x00 ; 0x05 271 | .byte 0x00,0x08,0x1C,0x3E,0x3E,0x08,0x1C,0x00 ; 0x06 272 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x07 273 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x08 274 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x09 275 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x0A 276 | .byte 0x00,0x38,0x30,0x2C,0x12,0x12,0x0C,0x00 ; 0x0B 277 | .byte 0x1C,0x22,0x22,0x1C,0x08,0x1C,0x08,0x00 ; 0x0C 278 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x0D 279 | .byte 0x30,0x2C,0x34,0x2C,0x34,0x36,0x06,0x00 ; 0x0E 280 | .byte 0x00,0x2A,0x1C,0x36,0x1C,0x2A,0x00,0x00 ; 0x0F 281 | .byte 0x04,0x0C,0x1C,0x3C,0x1C,0x0C,0x04,0x00 ; 0x10 282 | .byte 0x10,0x18,0x1C,0x1E,0x1C,0x18,0x10,0x00 ; 0x11 283 | .byte 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x00 ; 0x12 284 | .byte 0x14,0x14,0x14,0x14,0x14,0x00,0x14,0x00 ; 0x13 285 | .byte 0x3C,0x2A,0x2A,0x2C,0x28,0x28,0x28,0x00 ; 0x14 286 | .byte 0x1C,0x22,0x0C,0x14,0x18,0x22,0x1C,0x00 ; 0x15 287 | .byte 0x00,0x00,0x00,0x00,0x00,0x1E,0x1E,0x00 ; 0x16 288 | .byte 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x1C ; 0x17 289 | .byte 0x08,0x1C,0x3E,0x08,0x08,0x08,0x08,0x00 ; 0x18 290 | .byte 0x08,0x08,0x08,0x08,0x3E,0x1C,0x08,0x00 ; 0x19 291 | .byte 0x00,0x08,0x18,0x3E,0x18,0x08,0x00,0x00 ; 0x1A 292 | .byte 0x00,0x08,0x0C,0x3E,0x0C,0x08,0x00,0x00 ; 0x1B 293 | .byte 0x00,0x00,0x00,0x02,0x02,0x02,0x3E,0x00 ; 0x1C 294 | .byte 0x00,0x14,0x14,0x3E,0x14,0x14,0x00,0x00 ; 0x1D 295 | .byte 0x08,0x08,0x1C,0x1C,0x3E,0x3E,0x00,0x00 ; 0x1E 296 | .byte 0x3E,0x3E,0x1C,0x1C,0x08,0x08,0x00,0x00 ; 0x1F 297 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x20 298 | .byte 0x08,0x1C,0x1C,0x08,0x08,0x00,0x08,0x00 ; 0x21 299 | .byte 0x36,0x36,0x12,0x00,0x00,0x00,0x00,0x00 ; 0x22 300 | .byte 0x00,0x14,0x3E,0x14,0x14,0x3E,0x14,0x00 ; 0x23 301 | .byte 0x04,0x1C,0x02,0x0C,0x10,0x0E,0x08,0x00 ; 0x24 302 | .byte 0x26,0x26,0x10,0x08,0x04,0x32,0x32,0x00 ; 0x25 303 | .byte 0x04,0x0A,0x0A,0x04,0x2A,0x12,0x2C,0x00 ; 0x26 304 | .byte 0x0C,0x0C,0x04,0x00,0x00,0x00,0x00,0x00 ; 0x27 305 | .byte 0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x00 ; 0x28 306 | .byte 0x04,0x08,0x08,0x08,0x08,0x08,0x04,0x00 ; 0x29 307 | .byte 0x00,0x14,0x1C,0x3E,0x1C,0x14,0x00,0x00 ; 0x2A 308 | .byte 0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00 ; 0x2B 309 | .byte 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x04 ; 0x2C 310 | .byte 0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00 ; 0x2D 311 | .byte 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00 ; 0x2E 312 | .byte 0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00 ; 0x2F 313 | .byte 0x1C,0x22,0x32,0x2A,0x26,0x22,0x1C,0x00 ; 0x30 314 | .byte 0x08,0x0C,0x08,0x08,0x08,0x08,0x1C,0x00 ; 0x31 315 | .byte 0x1C,0x22,0x20,0x18,0x04,0x02,0x3E,0x00 ; 0x32 316 | .byte 0x1C,0x22,0x20,0x1C,0x20,0x22,0x1C,0x00 ; 0x33 317 | .byte 0x10,0x18,0x14,0x12,0x3E,0x10,0x10,0x00 ; 0x34 318 | .byte 0x3E,0x02,0x02,0x1E,0x20,0x22,0x1C,0x00 ; 0x35 319 | .byte 0x18,0x04,0x02,0x1E,0x22,0x22,0x1C,0x00 ; 0x36 320 | .byte 0x3E,0x20,0x10,0x08,0x04,0x04,0x04,0x00 ; 0x37 321 | .byte 0x1C,0x22,0x22,0x1C,0x22,0x22,0x1C,0x00 ; 0x38 322 | .byte 0x1C,0x22,0x22,0x3C,0x20,0x10,0x0C,0x00 ; 0x39 323 | .byte 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x00 ; 0x3A 324 | .byte 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x04 ; 0x3B 325 | .byte 0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x00 ; 0x3C 326 | .byte 0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00 ; 0x3D 327 | .byte 0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00 ; 0x3E 328 | .byte 0x1C,0x22,0x20,0x18,0x08,0x00,0x08,0x00 ; 0x3F 329 | .byte 0x1C,0x22,0x3A,0x2A,0x3A,0x02,0x1C,0x00 ; 0x40 330 | .byte 0x1C,0x22,0x22,0x22,0x3E,0x22,0x22,0x00 ; 0x41 331 | .byte 0x1E,0x22,0x22,0x1E,0x22,0x22,0x1E,0x00 ; 0x42 332 | .byte 0x1C,0x22,0x02,0x02,0x02,0x22,0x1C,0x00 ; 0x43 333 | .byte 0x1E,0x22,0x22,0x22,0x22,0x22,0x1E,0x00 ; 0x44 334 | .byte 0x3E,0x02,0x02,0x1E,0x02,0x02,0x3E,0x00 ; 0x45 335 | .byte 0x3E,0x02,0x02,0x1E,0x02,0x02,0x02,0x00 ; 0x46 336 | .byte 0x1C,0x22,0x02,0x3A,0x22,0x22,0x3C,0x00 ; 0x47 337 | .byte 0x22,0x22,0x22,0x3E,0x22,0x22,0x22,0x00 ; 0x48 338 | .byte 0x1C,0x08,0x08,0x08,0x08,0x08,0x1C,0x00 ; 0x49 339 | .byte 0x20,0x20,0x20,0x20,0x22,0x22,0x1C,0x00 ; 0x4A 340 | .byte 0x22,0x12,0x0A,0x06,0x0A,0x12,0x22,0x00 ; 0x4B 341 | .byte 0x02,0x02,0x02,0x02,0x02,0x02,0x3E,0x00 ; 0x4C 342 | .byte 0x22,0x36,0x2A,0x22,0x22,0x22,0x22,0x00 ; 0x4D 343 | .byte 0x22,0x26,0x2A,0x32,0x22,0x22,0x22,0x00 ; 0x4E 344 | .byte 0x1C,0x22,0x22,0x22,0x22,0x22,0x1C,0x00 ; 0x4F 345 | .byte 0x1E,0x22,0x22,0x1E,0x02,0x02,0x02,0x00 ; 0x50 346 | .byte 0x1C,0x22,0x22,0x22,0x2A,0x12,0x2C,0x00 ; 0x51 347 | .byte 0x1E,0x22,0x22,0x1E,0x12,0x22,0x22,0x00 ; 0x52 348 | .byte 0x1C,0x22,0x02,0x1C,0x20,0x22,0x1C,0x00 ; 0x53 349 | .byte 0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x00 ; 0x54 350 | .byte 0x22,0x22,0x22,0x22,0x22,0x22,0x1C,0x00 ; 0x55 351 | .byte 0x22,0x22,0x22,0x22,0x22,0x14,0x08,0x00 ; 0x56 352 | .byte 0x22,0x22,0x2A,0x2A,0x2A,0x2A,0x14,0x00 ; 0x57 353 | .byte 0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00 ; 0x58 354 | .byte 0x22,0x22,0x22,0x14,0x08,0x08,0x08,0x00 ; 0x59 355 | .byte 0x1E,0x10,0x08,0x04,0x02,0x02,0x1E,0x00 ; 0x5A 356 | .byte 0x1C,0x04,0x04,0x04,0x04,0x04,0x1C,0x00 ; 0x5B 357 | .byte 0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00 ; 0x5C 358 | .byte 0x1C,0x10,0x10,0x10,0x10,0x10,0x1C,0x00 ; 0x5D 359 | .byte 0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00 ; 0x5E 360 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F ; 0x5F 361 | .byte 0x0C,0x0C,0x08,0x00,0x00,0x00,0x00,0x00 ; 0x60 362 | .byte 0x00,0x00,0x1C,0x20,0x3C,0x22,0x3C,0x00 ; 0x61 363 | .byte 0x02,0x02,0x1E,0x22,0x22,0x22,0x1E,0x00 ; 0x62 364 | .byte 0x00,0x00,0x1C,0x22,0x02,0x22,0x1C,0x00 ; 0x63 365 | .byte 0x20,0x20,0x3C,0x22,0x22,0x22,0x3C,0x00 ; 0x64 366 | .byte 0x00,0x00,0x1C,0x22,0x1E,0x02,0x1C,0x00 ; 0x65 367 | .byte 0x18,0x04,0x04,0x1E,0x04,0x04,0x04,0x00 ; 0x66 368 | .byte 0x00,0x00,0x3C,0x22,0x22,0x3C,0x20,0x1C ; 0x67 369 | .byte 0x02,0x02,0x0E,0x12,0x12,0x12,0x12,0x00 ; 0x68 370 | .byte 0x08,0x00,0x08,0x08,0x08,0x08,0x18,0x00 ; 0x69 371 | .byte 0x10,0x00,0x18,0x10,0x10,0x10,0x12,0x0C ; 0x6A 372 | .byte 0x02,0x02,0x12,0x0A,0x06,0x0A,0x12,0x00 ; 0x6B 373 | .byte 0x08,0x08,0x08,0x08,0x08,0x08,0x18,0x00 ; 0x6C 374 | .byte 0x00,0x00,0x16,0x2A,0x2A,0x22,0x22,0x00 ; 0x6D 375 | .byte 0x00,0x00,0x0E,0x12,0x12,0x12,0x12,0x00 ; 0x6E 376 | .byte 0x00,0x00,0x1C,0x22,0x22,0x22,0x1C,0x00 ; 0x6F 377 | .byte 0x00,0x00,0x1E,0x22,0x22,0x22,0x1E,0x02 ; 0x70 378 | .byte 0x00,0x00,0x3C,0x22,0x22,0x22,0x3C,0x20 ; 0x71 379 | .byte 0x00,0x00,0x1A,0x24,0x04,0x04,0x0E,0x00 ; 0x72 380 | .byte 0x00,0x00,0x1C,0x02,0x1C,0x20,0x1C,0x00 ; 0x73 381 | .byte 0x00,0x04,0x1E,0x04,0x04,0x14,0x08,0x00 ; 0x74 382 | .byte 0x00,0x00,0x12,0x12,0x12,0x1A,0x14,0x00 ; 0x75 383 | .byte 0x00,0x00,0x22,0x22,0x22,0x14,0x08,0x00 ; 0x76 384 | .byte 0x00,0x00,0x22,0x22,0x2A,0x3E,0x14,0x00 ; 0x77 385 | .byte 0x00,0x00,0x12,0x12,0x0C,0x12,0x12,0x00 ; 0x78 386 | .byte 0x00,0x00,0x12,0x12,0x12,0x1C,0x08,0x06 ; 0x79 387 | .byte 0x00,0x00,0x1E,0x10,0x0C,0x02,0x1E,0x00 ; 0x7A 388 | .byte 0x18,0x04,0x04,0x06,0x04,0x04,0x18,0x00 ; 0x7B 389 | .byte 0x08,0x08,0x08,0x00,0x08,0x08,0x08,0x00 ; 0x7C 390 | .byte 0x0C,0x10,0x10,0x30,0x10,0x10,0x0C,0x00 ; 0x7D 391 | .byte 0x14,0x0A,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x7E 392 | .byte 0x08,0x1C,0x36,0x22,0x22,0x3E,0x00,0x00 ; 0x7F 393 | 394 | FontEnd: 395 | 396 | -------------------------------------------------------------------------------- /L1Demo-asm-Leo_v8_audio/L1Demo-asm/Fonts.inc: -------------------------------------------------------------------------------- 1 | FontStart: 2 | 3 | ; classic 8x6 bitmapped font 4 | .byte 0x00, 0x00 5 | .byte 0x00, 0x00 ; first char 6 | .byte 0x7F, 0x00 ; last char 7 | .byte 0x08, 0x00 ; height 8 | ; glyph table 9 | .byte 6 ; width 0 10 | .byte 8,2,0 11 | .byte 6 ; width 1 12 | .byte 16,2,0 13 | .byte 6 ; width 2 14 | .byte 24,2,0 15 | .byte 6 ; width 3 16 | .byte 32,2,0 17 | .byte 6 ; width 4 18 | .byte 40,2,0 19 | .byte 6 ; width 5 20 | .byte 48,2,0 21 | .byte 6 ; width 6 22 | .byte 56,2,0 23 | .byte 6 ; width 7 24 | .byte 64,2,0 25 | .byte 6 ; width 8 26 | .byte 72,2,0 27 | .byte 6 ; width 9 28 | .byte 80,2,0 29 | .byte 6 ; width 10 30 | .byte 88,2,0 31 | .byte 6 ; width 11 32 | .byte 96,2,0 33 | .byte 6 ; width 12 34 | .byte 104,2,0 35 | .byte 6 ; width 13 36 | .byte 112,2,0 37 | .byte 6 ; width 14 38 | .byte 120,2,0 39 | .byte 6 ; width 15 40 | .byte 128,2,0 41 | .byte 6 ; width 16 42 | .byte 136,2,0 43 | .byte 6 ; width 17 44 | .byte 144,2,0 45 | .byte 6 ; width 18 46 | .byte 152,2,0 47 | .byte 6 ; width 19 48 | .byte 160,2,0 49 | .byte 6 ; width 20 50 | .byte 168,2,0 51 | .byte 6 ; width 21 52 | .byte 176,2,0 53 | .byte 6 ; width 22 54 | .byte 184,2,0 55 | .byte 6 ; width 23 56 | .byte 192,2,0 57 | .byte 6 ; width 24 58 | .byte 200,2,0 59 | .byte 6 ; width 25 60 | .byte 208,2,0 61 | .byte 6 ; width 26 62 | .byte 216,2,0 63 | .byte 6 ; width 27 64 | .byte 224,2,0 65 | .byte 6 ; width 28 66 | .byte 232,2,0 67 | .byte 6 ; width 29 68 | .byte 240,2,0 69 | .byte 6 ; width 30 70 | .byte 248,2,0 71 | .byte 6 ; width 31 72 | .byte 0,3,0 73 | .byte 6 ; width 32 74 | .byte 8,3,0 75 | .byte 6 ; width 33 76 | .byte 16,3,0 77 | .byte 6 ; width 34 78 | .byte 24,3,0 79 | .byte 6 ; width 35 80 | .byte 32,3,0 81 | .byte 6 ; width 36 82 | .byte 40,3,0 83 | .byte 6 ; width 37 84 | .byte 48,3,0 85 | .byte 6 ; width 38 86 | .byte 56,3,0 87 | .byte 6 ; width 39 88 | .byte 64,3,0 89 | .byte 6 ; width 40 90 | .byte 72,3,0 91 | .byte 6 ; width 41 92 | .byte 80,3,0 93 | .byte 6 ; width 42 94 | .byte 88,3,0 95 | .byte 6 ; width 43 96 | .byte 96,3,0 97 | .byte 6 ; width 44 98 | .byte 104,3,0 99 | .byte 6 ; width 45 100 | .byte 112,3,0 101 | .byte 6 ; width 46 102 | .byte 120,3,0 103 | .byte 6 ; width 47 104 | .byte 128,3,0 105 | .byte 6 ; width 48 106 | .byte 136,3,0 107 | .byte 6 ; width 49 108 | .byte 144,3,0 109 | .byte 6 ; width 50 110 | .byte 152,3,0 111 | .byte 6 ; width 51 112 | .byte 160,3,0 113 | .byte 6 ; width 52 114 | .byte 168,3,0 115 | .byte 6 ; width 53 116 | .byte 176,3,0 117 | .byte 6 ; width 54 118 | .byte 184,3,0 119 | .byte 6 ; width 55 120 | .byte 192,3,0 121 | .byte 6 ; width 56 122 | .byte 200,3,0 123 | .byte 6 ; width 57 124 | .byte 208,3,0 125 | .byte 6 ; width 58 126 | .byte 216,3,0 127 | .byte 6 ; width 59 128 | .byte 224,3,0 129 | .byte 6 ; width 60 130 | .byte 232,3,0 131 | .byte 6 ; width 61 132 | .byte 240,3,0 133 | .byte 6 ; width 62 134 | .byte 248,3,0 135 | .byte 6 ; width 63 136 | .byte 0,4,0 137 | .byte 6 ; width 64 138 | .byte 8,4,0 139 | .byte 6 ; width 65 140 | .byte 16,4,0 141 | .byte 6 ; width 66 142 | .byte 24,4,0 143 | .byte 6 ; width 67 144 | .byte 32,4,0 145 | .byte 6 ; width 68 146 | .byte 40,4,0 147 | .byte 6 ; width 69 148 | .byte 48,4,0 149 | .byte 6 ; width 70 150 | .byte 56,4,0 151 | .byte 6 ; width 71 152 | .byte 64,4,0 153 | .byte 6 ; width 72 154 | .byte 72,4,0 155 | .byte 6 ; width 73 156 | .byte 80,4,0 157 | .byte 6 ; width 74 158 | .byte 88,4,0 159 | .byte 6 ; width 75 160 | .byte 96,4,0 161 | .byte 6 ; width 76 162 | .byte 104,4,0 163 | .byte 6 ; width 77 164 | .byte 112,4,0 165 | .byte 6 ; width 78 166 | .byte 120,4,0 167 | .byte 6 ; width 79 168 | .byte 128,4,0 169 | .byte 6 ; width 80 170 | .byte 136,4,0 171 | .byte 6 ; width 81 172 | .byte 144,4,0 173 | .byte 6 ; width 82 174 | .byte 152,4,0 175 | .byte 6 ; width 83 176 | .byte 160,4,0 177 | .byte 6 ; width 84 178 | .byte 168,4,0 179 | .byte 6 ; width 85 180 | .byte 176,4,0 181 | .byte 6 ; width 86 182 | .byte 184,4,0 183 | .byte 6 ; width 87 184 | .byte 192,4,0 185 | .byte 6 ; width 88 186 | .byte 200,4,0 187 | .byte 6 ; width 89 188 | .byte 208,4,0 189 | .byte 6 ; width 90 190 | .byte 216,4,0 191 | .byte 6 ; width 91 192 | .byte 224,4,0 193 | .byte 6 ; width 92 194 | .byte 232,4,0 195 | .byte 6 ; width 93 196 | .byte 240,4,0 197 | .byte 6 ; width 94 198 | .byte 248,4,0 199 | .byte 6 ; width 95 200 | .byte 0,5,0 201 | .byte 6 ; width 96 202 | .byte 8,5,0 203 | .byte 6 ; width 97 204 | .byte 16,5,0 205 | .byte 6 ; width 98 206 | .byte 24,5,0 207 | .byte 6 ; width 99 208 | .byte 32,5,0 209 | .byte 6 ; width 100 210 | .byte 40,5,0 211 | .byte 6 ; width 101 212 | .byte 48,5,0 213 | .byte 6 ; width 102 214 | .byte 56,5,0 215 | .byte 6 ; width 103 216 | .byte 64,5,0 217 | .byte 6 ; width 104 218 | .byte 72,5,0 219 | .byte 6 ; width 105 220 | .byte 80,5,0 221 | .byte 6 ; width 106 222 | .byte 88,5,0 223 | .byte 6 ; width 107 224 | .byte 96,5,0 225 | .byte 6 ; width 108 226 | .byte 104,5,0 227 | .byte 6 ; width 109 228 | .byte 112,5,0 229 | .byte 6 ; width 110 230 | .byte 120,5,0 231 | .byte 6 ; width 111 232 | .byte 128,5,0 233 | .byte 6 ; width 112 234 | .byte 136,5,0 235 | .byte 6 ; width 113 236 | .byte 144,5,0 237 | .byte 6 ; width 114 238 | .byte 152,5,0 239 | .byte 6 ; width 115 240 | .byte 160,5,0 241 | .byte 6 ; width 116 242 | .byte 168,5,0 243 | .byte 6 ; width 117 244 | .byte 176,5,0 245 | .byte 6 ; width 118 246 | .byte 184,5,0 247 | .byte 6 ; width 119 248 | .byte 192,5,0 249 | .byte 6 ; width 120 250 | .byte 200,5,0 251 | .byte 6 ; width 121 252 | .byte 208,5,0 253 | .byte 6 ; width 122 254 | .byte 216,5,0 255 | .byte 6 ; width 123 256 | .byte 224,5,0 257 | .byte 6 ; width 124 258 | .byte 232,5,0 259 | .byte 6 ; width 125 260 | .byte 240,5,0 261 | .byte 6 ; width 126 262 | .byte 248,5,0 263 | .byte 6 ; width 127 264 | .byte 0,6,0 265 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x00 266 | .byte 0x1C,0x22,0x36,0x22,0x2A,0x22,0x1C,0x00 ; 0x01 267 | .byte 0x1C,0x3E,0x2A,0x3E,0x22,0x3E,0x1C,0x00 ; 0x02 268 | .byte 0x00,0x14,0x3E,0x3E,0x3E,0x1C,0x08,0x00 ; 0x03 269 | .byte 0x00,0x08,0x1C,0x3E,0x3E,0x1C,0x08,0x00 ; 0x04 270 | .byte 0x08,0x1C,0x1C,0x08,0x3E,0x3E,0x08,0x00 ; 0x05 271 | .byte 0x00,0x08,0x1C,0x3E,0x3E,0x08,0x1C,0x00 ; 0x06 272 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x07 273 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x08 274 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x09 275 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x0A 276 | .byte 0x00,0x38,0x30,0x2C,0x12,0x12,0x0C,0x00 ; 0x0B 277 | .byte 0x1C,0x22,0x22,0x1C,0x08,0x1C,0x08,0x00 ; 0x0C 278 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x0D 279 | .byte 0x30,0x2C,0x34,0x2C,0x34,0x36,0x06,0x00 ; 0x0E 280 | .byte 0x00,0x2A,0x1C,0x36,0x1C,0x2A,0x00,0x00 ; 0x0F 281 | .byte 0x04,0x0C,0x1C,0x3C,0x1C,0x0C,0x04,0x00 ; 0x10 282 | .byte 0x10,0x18,0x1C,0x1E,0x1C,0x18,0x10,0x00 ; 0x11 283 | .byte 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x00 ; 0x12 284 | .byte 0x14,0x14,0x14,0x14,0x14,0x00,0x14,0x00 ; 0x13 285 | .byte 0x3C,0x2A,0x2A,0x2C,0x28,0x28,0x28,0x00 ; 0x14 286 | .byte 0x1C,0x22,0x0C,0x14,0x18,0x22,0x1C,0x00 ; 0x15 287 | .byte 0x00,0x00,0x00,0x00,0x00,0x1E,0x1E,0x00 ; 0x16 288 | .byte 0x08,0x1C,0x3E,0x08,0x3E,0x1C,0x08,0x1C ; 0x17 289 | .byte 0x08,0x1C,0x3E,0x08,0x08,0x08,0x08,0x00 ; 0x18 290 | .byte 0x08,0x08,0x08,0x08,0x3E,0x1C,0x08,0x00 ; 0x19 291 | .byte 0x00,0x08,0x18,0x3E,0x18,0x08,0x00,0x00 ; 0x1A 292 | .byte 0x00,0x08,0x0C,0x3E,0x0C,0x08,0x00,0x00 ; 0x1B 293 | .byte 0x00,0x00,0x00,0x02,0x02,0x02,0x3E,0x00 ; 0x1C 294 | .byte 0x00,0x14,0x14,0x3E,0x14,0x14,0x00,0x00 ; 0x1D 295 | .byte 0x08,0x08,0x1C,0x1C,0x3E,0x3E,0x00,0x00 ; 0x1E 296 | .byte 0x3E,0x3E,0x1C,0x1C,0x08,0x08,0x00,0x00 ; 0x1F 297 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x20 298 | .byte 0x08,0x1C,0x1C,0x08,0x08,0x00,0x08,0x00 ; 0x21 299 | .byte 0x36,0x36,0x12,0x00,0x00,0x00,0x00,0x00 ; 0x22 300 | .byte 0x00,0x14,0x3E,0x14,0x14,0x3E,0x14,0x00 ; 0x23 301 | .byte 0x04,0x1C,0x02,0x0C,0x10,0x0E,0x08,0x00 ; 0x24 302 | .byte 0x26,0x26,0x10,0x08,0x04,0x32,0x32,0x00 ; 0x25 303 | .byte 0x04,0x0A,0x0A,0x04,0x2A,0x12,0x2C,0x00 ; 0x26 304 | .byte 0x0C,0x0C,0x04,0x00,0x00,0x00,0x00,0x00 ; 0x27 305 | .byte 0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x00 ; 0x28 306 | .byte 0x04,0x08,0x08,0x08,0x08,0x08,0x04,0x00 ; 0x29 307 | .byte 0x00,0x14,0x1C,0x3E,0x1C,0x14,0x00,0x00 ; 0x2A 308 | .byte 0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00 ; 0x2B 309 | .byte 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x04 ; 0x2C 310 | .byte 0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00 ; 0x2D 311 | .byte 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00 ; 0x2E 312 | .byte 0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00 ; 0x2F 313 | .byte 0x1C,0x22,0x32,0x2A,0x26,0x22,0x1C,0x00 ; 0x30 314 | .byte 0x08,0x0C,0x08,0x08,0x08,0x08,0x1C,0x00 ; 0x31 315 | .byte 0x1C,0x22,0x20,0x18,0x04,0x02,0x3E,0x00 ; 0x32 316 | .byte 0x1C,0x22,0x20,0x1C,0x20,0x22,0x1C,0x00 ; 0x33 317 | .byte 0x10,0x18,0x14,0x12,0x3E,0x10,0x10,0x00 ; 0x34 318 | .byte 0x3E,0x02,0x02,0x1E,0x20,0x22,0x1C,0x00 ; 0x35 319 | .byte 0x18,0x04,0x02,0x1E,0x22,0x22,0x1C,0x00 ; 0x36 320 | .byte 0x3E,0x20,0x10,0x08,0x04,0x04,0x04,0x00 ; 0x37 321 | .byte 0x1C,0x22,0x22,0x1C,0x22,0x22,0x1C,0x00 ; 0x38 322 | .byte 0x1C,0x22,0x22,0x3C,0x20,0x10,0x0C,0x00 ; 0x39 323 | .byte 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x00 ; 0x3A 324 | .byte 0x00,0x00,0x0C,0x0C,0x00,0x0C,0x0C,0x04 ; 0x3B 325 | .byte 0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x00 ; 0x3C 326 | .byte 0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00 ; 0x3D 327 | .byte 0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00 ; 0x3E 328 | .byte 0x1C,0x22,0x20,0x18,0x08,0x00,0x08,0x00 ; 0x3F 329 | .byte 0x1C,0x22,0x3A,0x2A,0x3A,0x02,0x1C,0x00 ; 0x40 330 | .byte 0x1C,0x22,0x22,0x22,0x3E,0x22,0x22,0x00 ; 0x41 331 | .byte 0x1E,0x22,0x22,0x1E,0x22,0x22,0x1E,0x00 ; 0x42 332 | .byte 0x1C,0x22,0x02,0x02,0x02,0x22,0x1C,0x00 ; 0x43 333 | .byte 0x1E,0x22,0x22,0x22,0x22,0x22,0x1E,0x00 ; 0x44 334 | .byte 0x3E,0x02,0x02,0x1E,0x02,0x02,0x3E,0x00 ; 0x45 335 | .byte 0x3E,0x02,0x02,0x1E,0x02,0x02,0x02,0x00 ; 0x46 336 | .byte 0x1C,0x22,0x02,0x3A,0x22,0x22,0x3C,0x00 ; 0x47 337 | .byte 0x22,0x22,0x22,0x3E,0x22,0x22,0x22,0x00 ; 0x48 338 | .byte 0x1C,0x08,0x08,0x08,0x08,0x08,0x1C,0x00 ; 0x49 339 | .byte 0x20,0x20,0x20,0x20,0x22,0x22,0x1C,0x00 ; 0x4A 340 | .byte 0x22,0x12,0x0A,0x06,0x0A,0x12,0x22,0x00 ; 0x4B 341 | .byte 0x02,0x02,0x02,0x02,0x02,0x02,0x3E,0x00 ; 0x4C 342 | .byte 0x22,0x36,0x2A,0x22,0x22,0x22,0x22,0x00 ; 0x4D 343 | .byte 0x22,0x26,0x2A,0x32,0x22,0x22,0x22,0x00 ; 0x4E 344 | .byte 0x1C,0x22,0x22,0x22,0x22,0x22,0x1C,0x00 ; 0x4F 345 | .byte 0x1E,0x22,0x22,0x1E,0x02,0x02,0x02,0x00 ; 0x50 346 | .byte 0x1C,0x22,0x22,0x22,0x2A,0x12,0x2C,0x00 ; 0x51 347 | .byte 0x1E,0x22,0x22,0x1E,0x12,0x22,0x22,0x00 ; 0x52 348 | .byte 0x1C,0x22,0x02,0x1C,0x20,0x22,0x1C,0x00 ; 0x53 349 | .byte 0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x00 ; 0x54 350 | .byte 0x22,0x22,0x22,0x22,0x22,0x22,0x1C,0x00 ; 0x55 351 | .byte 0x22,0x22,0x22,0x22,0x22,0x14,0x08,0x00 ; 0x56 352 | .byte 0x22,0x22,0x2A,0x2A,0x2A,0x2A,0x14,0x00 ; 0x57 353 | .byte 0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00 ; 0x58 354 | .byte 0x22,0x22,0x22,0x14,0x08,0x08,0x08,0x00 ; 0x59 355 | .byte 0x1E,0x10,0x08,0x04,0x02,0x02,0x1E,0x00 ; 0x5A 356 | .byte 0x1C,0x04,0x04,0x04,0x04,0x04,0x1C,0x00 ; 0x5B 357 | .byte 0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00 ; 0x5C 358 | .byte 0x1C,0x10,0x10,0x10,0x10,0x10,0x1C,0x00 ; 0x5D 359 | .byte 0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00 ; 0x5E 360 | .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F ; 0x5F 361 | .byte 0x0C,0x0C,0x08,0x00,0x00,0x00,0x00,0x00 ; 0x60 362 | .byte 0x00,0x00,0x1C,0x20,0x3C,0x22,0x3C,0x00 ; 0x61 363 | .byte 0x02,0x02,0x1E,0x22,0x22,0x22,0x1E,0x00 ; 0x62 364 | .byte 0x00,0x00,0x1C,0x22,0x02,0x22,0x1C,0x00 ; 0x63 365 | .byte 0x20,0x20,0x3C,0x22,0x22,0x22,0x3C,0x00 ; 0x64 366 | .byte 0x00,0x00,0x1C,0x22,0x1E,0x02,0x1C,0x00 ; 0x65 367 | .byte 0x18,0x04,0x04,0x1E,0x04,0x04,0x04,0x00 ; 0x66 368 | .byte 0x00,0x00,0x3C,0x22,0x22,0x3C,0x20,0x1C ; 0x67 369 | .byte 0x02,0x02,0x0E,0x12,0x12,0x12,0x12,0x00 ; 0x68 370 | .byte 0x08,0x00,0x08,0x08,0x08,0x08,0x18,0x00 ; 0x69 371 | .byte 0x10,0x00,0x18,0x10,0x10,0x10,0x12,0x0C ; 0x6A 372 | .byte 0x02,0x02,0x12,0x0A,0x06,0x0A,0x12,0x00 ; 0x6B 373 | .byte 0x08,0x08,0x08,0x08,0x08,0x08,0x18,0x00 ; 0x6C 374 | .byte 0x00,0x00,0x16,0x2A,0x2A,0x22,0x22,0x00 ; 0x6D 375 | .byte 0x00,0x00,0x0E,0x12,0x12,0x12,0x12,0x00 ; 0x6E 376 | .byte 0x00,0x00,0x1C,0x22,0x22,0x22,0x1C,0x00 ; 0x6F 377 | .byte 0x00,0x00,0x1E,0x22,0x22,0x22,0x1E,0x02 ; 0x70 378 | .byte 0x00,0x00,0x3C,0x22,0x22,0x22,0x3C,0x20 ; 0x71 379 | .byte 0x00,0x00,0x1A,0x24,0x04,0x04,0x0E,0x00 ; 0x72 380 | .byte 0x00,0x00,0x1C,0x02,0x1C,0x20,0x1C,0x00 ; 0x73 381 | .byte 0x00,0x04,0x1E,0x04,0x04,0x14,0x08,0x00 ; 0x74 382 | .byte 0x00,0x00,0x12,0x12,0x12,0x1A,0x14,0x00 ; 0x75 383 | .byte 0x00,0x00,0x22,0x22,0x22,0x14,0x08,0x00 ; 0x76 384 | .byte 0x00,0x00,0x22,0x22,0x2A,0x3E,0x14,0x00 ; 0x77 385 | .byte 0x00,0x00,0x12,0x12,0x0C,0x12,0x12,0x00 ; 0x78 386 | .byte 0x00,0x00,0x12,0x12,0x12,0x1C,0x08,0x06 ; 0x79 387 | .byte 0x00,0x00,0x1E,0x10,0x0C,0x02,0x1E,0x00 ; 0x7A 388 | .byte 0x18,0x04,0x04,0x06,0x04,0x04,0x18,0x00 ; 0x7B 389 | .byte 0x08,0x08,0x08,0x00,0x08,0x08,0x08,0x00 ; 0x7C 390 | .byte 0x0C,0x10,0x10,0x30,0x10,0x10,0x0C,0x00 ; 0x7D 391 | .byte 0x14,0x0A,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x7E 392 | .byte 0x08,0x1C,0x36,0x22,0x22,0x3E,0x00,0x00 ; 0x7F 393 | 394 | FontEnd: 395 | 396 | -------------------------------------------------------------------------------- /L1Demo-C-example/L1DemoProto.X/arko rotate/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include "fonts.h" 8 | 9 | #define FCY 16000000UL // Instruction cycle frequency, Hz 10 | #include 11 | 12 | _CONFIG1(FWDTEN_OFF & GWRP_OFF & GCP_OFF & JTAGEN_OFF) 13 | _CONFIG2(POSCMOD_HS & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2) 14 | _CONFIG3(ALTPMP_ALTPMPEN & SOSCSEL_EC) 15 | 16 | /* 17 | To change resolutions, use an X modeline generator like: 18 | http://xtiming.sourceforge.net/cgi-bin/xtiming.pl 19 | For example, 80x480@60Hz produces 20 | Modeline "80x480@61" 4.93 80 112 128 160 480 490 495 505 21 | Then we convert it to the values we need: 22 | 23 | 4.93 is the pixel clock in MHz, we need to set CLOCKDIV to match. To pick a 24 | divisor, use page 147 of the data sheet or, uh, this perl one-liner to 25 | generate all of them and pick one that's close: 26 | perl -e '$d = 1; $x = 0; while($x < 128) { printf "%s %.2f\n",$x,96/$d;if($x < 64) { $d += 0.25; } elsif($x < 96) { $d += 0.50 } else { $d += 1 }; $x++}' 27 | 28 | The differences between: 80 112 128 160 480 29 | are H-porch, H-Pulse, H-width 30 | The differences between: 480 490 495 505 31 | are V-porch, V-Pulse, V-width 32 | 33 | Once these values are in, the monitor will display it but it will probably 34 | be misaligned (especially vertically). Play with VENST_FUDGE and 35 | HENST_FUDGE to fix this. 36 | */ 37 | 38 | #define HOR_RES 80UL 39 | #define VER_RES 480UL 40 | #define HOR_FRONT_PORCH 32 41 | #define HOR_PULSE_WIDTH 8 42 | #define HOR_BACK_PORCH 32 43 | #define VER_FRONT_PORCH 10 44 | #define VER_PULSE_WIDTH 5 45 | #define VER_BACK_PORCH 10 46 | #define BPP 8 47 | #define CLOCKDIV 69 48 | #define VENST_FUDGE 0 49 | #define HENST_FUDGE 0 50 | #define VSPOL 0 /* sync polarities */ 51 | #define HSPOL 0 52 | 53 | #define CHR_FGCOLOR 0x5000 54 | #define CHR_BGCOLOR 0x5100 55 | #define CHR_FONTBASE 0x5200 56 | #define CHR_PRINTCHAR 0x5300 57 | #define CHR_TXTAREASTART 0x5800 58 | #define CHR_TXTAREAEND 0x5900 59 | #define CHR_PRINTPOS 0x5A00 60 | #define RCC_SRCADDR 0x6200 61 | #define RCC_DESTADDR 0x6300 62 | #define RCC_RECTSIZE 0x6400 63 | #define RCC_COLOR 0x6600 64 | #define RCC_STARTCOPY 0x6700 65 | #define IPU_SRCADDR 0x7100 66 | #define IPU_DESTADDR 0x7200 67 | #define IPU_DECOMPRESS 0x7400 68 | 69 | #define GFX_BUFFER_SIZE (HOR_RES * VER_RES / (8/BPP)) 70 | //__eds__ uint8_t GFXDisplayBuffer[2][GFX_BUFFER_SIZE] __attribute__((eds, section("DISPLAY"), address(0x1000))); 71 | __eds__ uint8_t GFXDisplayBuffer[2][GFX_BUFFER_SIZE] __attribute__((far, section("DISPLAY"),space(eds))); 72 | 73 | 74 | void config_graphics(void) { 75 | _G1CLKSEL = 1; 76 | _GCLKDIV = CLOCKDIV; 77 | 78 | G1DPADRL = (unsigned long)(GFXDisplayBuffer) & 0xFFFF; 79 | G1DPADRH = (unsigned long)(GFXDisplayBuffer) >>16 & 0xFF; 80 | G1W1ADRL = (unsigned long)(GFXDisplayBuffer) & 0xFFFF; 81 | G1W1ADRH = (unsigned long)(GFXDisplayBuffer) >>16 & 0xFF; 82 | G1W2ADRL = (unsigned long)(GFXDisplayBuffer) & 0xFFFF; 83 | G1W2ADRH = (unsigned long)(GFXDisplayBuffer) >>16 & 0xFF; 84 | 85 | _GDBEN = 0xFFFF; 86 | 87 | // Using PIC24F manual section 43 page 37-38 88 | _DPMODE = 1; /* TFT */ 89 | _GDBEN = 0xFFFF; 90 | _DPW = _PUW = HOR_RES; // Work area and FB size so GPU works 91 | _DPH = _PUH = VER_RES; 92 | _DPWT = HOR_FRONT_PORCH + HOR_PULSE_WIDTH + HOR_BACK_PORCH + HOR_RES; 93 | _DPHT = VER_FRONT_PORCH + VER_PULSE_WIDTH + VER_BACK_PORCH + VER_RES + 25;//VER_RES;// + 35; // centered but shaky 94 | _DPCLKPOL = 0; 95 | _DPENOE = 0; 96 | _DPENPOL = 0; 97 | _DPVSOE = 1; 98 | _DPHSOE = 1; 99 | _DPVSPOL = VSPOL; 100 | _DPHSPOL = HSPOL; 101 | _ACTLINE = _VENST = VER_FRONT_PORCH + VER_PULSE_WIDTH + VER_BACK_PORCH - VENST_FUDGE; 102 | _ACTPIX = _HENST = HOR_FRONT_PORCH + HOR_PULSE_WIDTH + HOR_BACK_PORCH - HENST_FUDGE; 103 | _VSST = VER_FRONT_PORCH; 104 | _HSST = HOR_FRONT_PORCH; 105 | _VSLEN = VER_PULSE_WIDTH; 106 | _HSLEN = HOR_PULSE_WIDTH; 107 | _DPPWROE = 0; 108 | _DPPINOE = 1; 109 | _DPPOWER = 1; 110 | _DPBPP = _PUBPP = 3; 111 | 112 | 113 | // _DPTEST = 2; /* Uncomment for test patterns */ 114 | 115 | _G1EN = 1; 116 | __delay_ms(1); 117 | } 118 | 119 | void config_chr(void) { 120 | while(_CMDFUL) continue; 121 | G1CMDL = 0xFFFF; 122 | G1CMDH = CHR_FGCOLOR; 123 | Nop(); 124 | 125 | while(_CMDFUL) continue; 126 | G1CMDL = 0; 127 | G1CMDH = CHR_BGCOLOR; 128 | Nop(); 129 | 130 | while(_CMDFUL) continue; 131 | G1CMDL = (uint16_t)(FontStart) & 0xFFFF; 132 | G1CMDH = CHR_FONTBASE; 133 | Nop(); 134 | 135 | while(_CMDFUL) continue; 136 | G1CMDL = 0; 137 | G1CMDH = CHR_TXTAREASTART; 138 | Nop(); 139 | 140 | while(_CMDFUL) continue; 141 | G1CMDL = (HOR_RES & 0xF)<<12 | VER_RES; 142 | G1CMDH = CHR_TXTAREAEND | (HOR_RES >>4); 143 | Nop(); 144 | } 145 | 146 | void chr_print(unsigned char *c) { 147 | while(_CMDFUL) continue; 148 | G1CMDL = 0; 149 | G1CMDH = CHR_PRINTPOS; 150 | Nop(); 151 | 152 | while(*c != NULL) { 153 | while(_CMDFUL) continue; 154 | G1CMDL = *c; 155 | G1CMDH = CHR_PRINTCHAR; 156 | Nop(); 157 | 158 | c++; 159 | } 160 | } 161 | 162 | void rcc_color(unsigned int color) { 163 | while(_CMDFUL) continue; 164 | G1CMDL = color; 165 | G1CMDH = RCC_COLOR; 166 | Nop(); 167 | } 168 | 169 | void rcc_setdest(__eds__ uint8_t *buf) { 170 | while(!_CMDMPT) continue; // Wait for GPU to finish drawing 171 | G1W2ADRL = (unsigned long)(buf); 172 | G1W2ADRH = (unsigned long)(buf); 173 | } 174 | 175 | void gpu_setfb(__eds__ uint8_t *buf) { 176 | G1DPADRL = (unsigned long)(buf); 177 | G1DPADRH = (unsigned long)(buf); 178 | } 179 | 180 | void rcc_draw(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { 181 | // destination 182 | while(_CMDFUL) continue; 183 | G1CMDL = x + y*HOR_RES; 184 | G1CMDH = RCC_DESTADDR | (x + y*HOR_RES)>>16; 185 | Nop(); 186 | 187 | // size 188 | while(_CMDFUL) continue; 189 | G1CMDL = (w<<12) | h; 190 | G1CMDH = RCC_RECTSIZE | (w>>4); 191 | Nop(); 192 | 193 | // go! 194 | while(_CMDFUL) continue; 195 | G1CMDL = 0xC<<3; 196 | G1CMDH = RCC_STARTCOPY; 197 | Nop(); 198 | } 199 | 200 | void blank_background() { 201 | rcc_color(0xffff); 202 | //rcc_color(0x0000); 203 | rcc_draw(0, 0, HOR_RES-1, VER_RES-1); 204 | } 205 | 206 | volatile int fb_ready = 0; 207 | void __attribute__((interrupt, auto_psv))_GFX1Interrupt(void) { 208 | static int lines = 0; 209 | static int syncs = 0; 210 | static int next_fb = 1; 211 | if(_VMRGNIF) { /* on a vertical sync, flip buffers if it's ready */ 212 | lines = 0; 213 | syncs++; 214 | if(fb_ready) { 215 | gpu_setfb(GFXDisplayBuffer[next_fb]); 216 | next_fb = !next_fb; 217 | } 218 | fb_ready = 0; 219 | _VMRGNIF = 0; 220 | } else if(_HMRGNIF) { /* on each horizontal sync, ...? */ 221 | lines++; 222 | _HMRGNIF = 0; 223 | } 224 | _GFX1IF = 0; 225 | } 226 | 227 | #define PIX_W 1 228 | #define PIX_H 6 229 | 230 | #define MAX_SPRITES 10 231 | #define SPR_HEAD 5 232 | 233 | struct Sprite { 234 | uint8_t width; // Width (in pixels) 235 | uint8_t height; // Height (in pixels) 236 | uint8_t bitres; // Bits per Pixel 237 | uint8_t trans; // Transparency 238 | uint8_t rotate; // Rotation, 0: none, 1: 90 cw, 2: 180, 3: 90 ccw 239 | uint8_t *data; // Pointer to sprite pixel data 240 | }; 241 | 242 | struct Sprite s[MAX_SPRITES]; 243 | 244 | uint8_t SpriteMap[] __attribute__((space(eds)))= { 245 | 0x08, 0x08, 0x08, 0x00, 0x00, /* data */ 246 | /* 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, 247 | 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, 248 | 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, 249 | 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, 250 | 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, 251 | 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, 252 | 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, 253 | 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, 254 | */ 255 | 0xe0,0x00,0xff,0xff,0xff,0xff,0x00,0x1c, 256 | 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00, 257 | 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00, 258 | 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00, 259 | 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00, 260 | 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00, 261 | 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00, 262 | 0xe0,0x00,0xff,0xff,0xff,0xff,0x00,0x1c, 263 | /* // NSL Logo rotation test black background 264 | 0xe0,0xff,0x00,0x00,0x00,0x00,0xff,0x1c, 265 | 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff, 266 | 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff, 267 | 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff, 268 | 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff, 269 | 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff, 270 | 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff, 271 | 0xe0,0xff,0x00,0x00,0x00,0x00,0xff,0x03, 272 | */ 273 | 274 | }; 275 | 276 | /* 277 | 0xe0 pure red 278 | 0x1c pure green 279 | 0x03 pure blue 280 | */ 281 | 282 | void loadSprite(uint8_t id) { 283 | // TODO: make this actually address multiple sprites 284 | //uint8_t off; 285 | //off = (uint16_t)(SpriteMap) & 0xFFFF; 286 | s[id].width = SpriteMap[0]; 287 | s[id].height = SpriteMap[1]; 288 | s[id].bitres = SpriteMap[2]; 289 | s[id].trans = SpriteMap[3]; 290 | s[id].rotate = SpriteMap[4]; 291 | s[id].data = &SpriteMap[5]; 292 | 293 | // next = s[id].width * s[id].height + SPR_HEAD 294 | } 295 | 296 | void drawSprite(uint16_t x, uint16_t y, uint8_t id, uint8_t rotation) { 297 | 298 | unsigned int w,h; 299 | unsigned int x1,y1; 300 | 301 | for (h=0; h < s[id].height; h++) { 302 | for (w=0; w < s[id].width; w++) { 303 | rcc_color(*(s[id].data + w + s[id].width*h)); 304 | //rcc_color(rand()); tv screen effect 305 | switch(rotation) { 306 | // 00 deg 0,0 1,0 2,0 ... 0,1 307 | // 90 deg CCW 7,0 7,1 7,2 ... 6,0 308 | // 180 deg 7,7 6,7 5,7 ... 7,6 309 | // 90 deg CW 0,7 0,6 0,5 ... 1,6 310 | case 0: // 0 degree 311 | x1 = x+w; 312 | y1 = y + (h<<2) + (h<<1);//y+(PIX_H*h); 313 | if (x1 >= HOR_RES-2) break; 314 | if (y1 >= VER_RES-PIX_H) return; 315 | rcc_draw(x1, y1, 1,PIX_H); 316 | break; 317 | case 1: // 90 degree CW 318 | x1 = x+(s[id].width-h-1); 319 | y1 = y+(PIX_H*(w)); 320 | if (x1 >= HOR_RES-1 || x1 <= 0) continue; 321 | if (y1 >= VER_RES-PIX_H || y1 <= 0) continue; 322 | rcc_draw(x1, y1, 1,PIX_H); 323 | break; 324 | case 2: // 180 degree 325 | if (x+(s[id].width-w-1) >= HOR_RES-1) continue; 326 | if (y+(PIX_H*(s[id].height-h-1)) >= VER_RES-PIX_H) continue; 327 | rcc_draw(x1, y1, 1,PIX_H); 328 | break; 329 | case 3: // 90 degree CCW 330 | default: 331 | break; 332 | } 333 | } 334 | } 335 | } 336 | 337 | void drawSpriteRotation(uint16_t x, uint16_t y, uint8_t id, uint16_t rotation) { 338 | int x1,y1; 339 | 340 | unsigned int w,h; 341 | 342 | for (h=0; h < s[id].height; h++) { 343 | for (w=0; w < s[id].width; w++) { 344 | rcc_color(*(s[id].data + w + s[id].width*h)); 345 | x1 = x * cos(rotation) - y * sin(rotation); 346 | y1 = x * sin(rotation) - y * cos(rotation); 347 | if (x1 >= HOR_RES-1) continue; 348 | rcc_draw(x1, y1, 1, PIX_H); 349 | } 350 | } 351 | } 352 | 353 | int main(void) { 354 | 355 | ANSB = 0x0000; 356 | ANSC = 0x0000; 357 | ANSD = 0x0000; 358 | ANSF = 0x0000; 359 | ANSG = 0x0000; 360 | //OSCCON = 0x0000; 361 | //TRISE = 0x0000; 362 | TRISB = 0x0000; 363 | 364 | config_graphics(); 365 | config_chr(); 366 | 367 | // clear buffers 368 | rcc_setdest(GFXDisplayBuffer[0]); 369 | blank_background(); 370 | rcc_setdest(GFXDisplayBuffer[1]); 371 | blank_background(); 372 | 373 | 374 | _VMRGNIF = 0; 375 | _HMRGNIF = 0; 376 | _HMRGNIE = 1; 377 | _VMRGNIE = 1; 378 | _GFX1IE = 1; 379 | 380 | loadSprite(0); 381 | unsigned int lol = 0; 382 | 383 | int next_fb = 1; 384 | while (1) { 385 | rcc_setdest(GFXDisplayBuffer[next_fb]); 386 | next_fb = !next_fb; 387 | 388 | blank_background(); 389 | 390 | //rcc_color(0x8888); 391 | //rcc_draw(50,50, 20, 20*PIX_H); 392 | 393 | 394 | drawSprite(((5+lol)%HOR_RES-1),10,0, (lol)%2); 395 | drawSprite(((10+lol)%HOR_RES-1),60,0, (lol)%2); 396 | drawSprite(((15+lol)%HOR_RES-1),110,0, (lol)%2); 397 | drawSprite(((20+lol)%HOR_RES-1),170,0, (lol)%2); 398 | drawSprite(((25+lol)%HOR_RES-1),220,0, (lol)%2); 399 | drawSprite(((30+lol)%HOR_RES-1),270,0, (lol)%2); 400 | drawSprite(((35+lol)%HOR_RES-1),320,0, (lol)%2); 401 | drawSprite(((40+lol)%HOR_RES-1),370,0, (lol)%2); 402 | drawSprite(((45+lol)%HOR_RES-1),420,0, (lol)%2); 403 | drawSprite(((50+lol)%HOR_RES-1),470,0, (lol)%2); 404 | 405 | if(lol > 80) lol=0; 406 | //drawSprite(((20+lol)%HOR_RES-1),200,0, 1);//(lol/100)%3); 407 | //drawSprite(((5+lol)%(HOR_RES-1)),300,0, 0); 408 | //drawSprite(40,300,0, 0); 409 | //drawSprite(40,300,0, (lol)%2); 410 | //drawSprite(40,10,0, 0); 411 | lol++; 412 | 413 | //rcc_color(0); 414 | //rcc_draw(0,0,20,20*PIX_H); 415 | 416 | //char message[50]; 417 | //sprintf(message, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ndisp: %04x\ndraw: %04x", GFXDisplayBuffer[0][15+50*HOR_RES], GFXDisplayBuffer[1][15+50*HOR_RES]); 418 | //chr_print(message); 419 | 420 | // screen border 421 | //rcc_color(0x0000); 422 | rcc_color(0xffff); 423 | rcc_draw(0,0, 1, VER_RES); // left 424 | rcc_draw(HOR_RES-2,0,1,VER_RES); // HOR_RES-1 // right 425 | rcc_draw(0,0, HOR_RES-2, PIX_H); // top 426 | rcc_draw(0,VER_RES-PIX_H,HOR_RES-2,PIX_H); // bottom 427 | 428 | // Clean right column 429 | rcc_color(0x0000); 430 | //rcc_color(0xffff); 431 | rcc_draw(HOR_RES-1,0, 1,VER_RES); 432 | 433 | while(!_CMDMPT) continue; // Wait for GPU to finish drawing 434 | fb_ready = 1; 435 | while(fb_ready) continue; // wait for gfx interrupt to flip 436 | __delay_ms(100); 437 | } 438 | 439 | return 0; 440 | } --------------------------------------------------------------------------------