From ee7f9d457da52e90db36fe127c3a8587f0e424d2 Mon Sep 17 00:00:00 2001 From: Irmen de Jong Date: Thu, 7 Jan 2021 01:56:31 +0100 Subject: [PATCH] text editor configs --- compiler/res/.editorconfig | 22 +++ compiler/res/prog8lib/conv.p8 | 262 ++++++++++++++-------------- compiler/res/prog8lib/cx16logo.p8 | 2 + compiler/res/prog8lib/diskio.p8 | 6 +- compiler/res/prog8lib/math.asm | 5 +- compiler/res/prog8lib/math.p8 | 4 +- compiler/res/prog8lib/prog8_lib.asm | 54 +++--- compiler/res/prog8lib/prog8_lib.p8 | 72 ++++---- compiler/res/prog8lib/string.p8 | 9 + compiler/res/prog8lib/test_stack.p8 | 80 ++++----- examples/.editorconfig | 22 +++ 11 files changed, 293 insertions(+), 245 deletions(-) create mode 100644 compiler/res/.editorconfig create mode 100644 compiler/res/prog8lib/string.p8 create mode 100644 examples/.editorconfig diff --git a/compiler/res/.editorconfig b/compiler/res/.editorconfig new file mode 100644 index 000000000..161e7859f --- /dev/null +++ b/compiler/res/.editorconfig @@ -0,0 +1,22 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +max_line_length = 120 +tab_width = 4 +trim_trailing_whitespace = true +ij_smart_tabs = true + +[*.p8] +tab_width = 4 +indent_size = 4 +indent_style = space + +[*.asm] +tab_width = 8 +indent_size = 8 +indent_style = tab diff --git a/compiler/res/prog8lib/conv.p8 b/compiler/res/prog8lib/conv.p8 index a55025857..ca96968d2 100644 --- a/compiler/res/prog8lib/conv.p8 +++ b/compiler/res/prog8lib/conv.p8 @@ -1,8 +1,6 @@ -; Prog8 definitions for number conversions routines. +; Number conversions routines. ; ; Written by Irmen de Jong (irmen@razorvine.net) - license: GNU GPL 3.0 -; -; indent format: TABS, size=8 conv { @@ -11,20 +9,20 @@ conv { asmsub ubyte2decimal (ubyte value @A) -> ubyte @Y, ubyte @A, ubyte @X { ; ---- A to decimal string in Y/A/X (100s in Y, 10s in A, 1s in X) - %asm {{ - ldy #uword2decimal.ASCII_0_OFFSET - bne uword2decimal.hex_try200 - rts + %asm {{ + ldy #uword2decimal.ASCII_0_OFFSET + bne uword2decimal.hex_try200 + rts }} } asmsub uword2decimal (uword value @AY) -> ubyte @Y, ubyte @A, ubyte @X { - ; ---- convert 16 bit uword in A/Y to decimal - ; output in uword2decimal.decTenThousands, decThousands, decHundreds, decTens, decOnes - ; (these are terminated by a zero byte so they can be easily printed) - ; also returns Y = 100's, A = 10's, X = 1's + ; ---- convert 16 bit uword in A/Y to decimal + ; output in uword2decimal.decTenThousands, decThousands, decHundreds, decTens, decOnes + ; (these are terminated by a zero byte so they can be easily printed) + ; also returns Y = 100's, A = 10's, X = 1's - %asm {{ + %asm {{ ;Convert 16 bit Hex to Decimal (0-65535) Rev 2 ;By Omegamatrix Further optimizations by tepples @@ -241,7 +239,7 @@ asmsub uword2hex (uword value @AY) clobbers(A,Y) { sta output+2 sty output+3 rts -output .text "0000", $00 ; 0-terminated output buffer (to make printing easier) +output .text "0000", $00 ; 0-terminated output buffer (to make printing easier) }} } @@ -249,38 +247,38 @@ output .text "0000", $00 ; 0-terminated output buffer (to make printing ea ; ---- string conversion to numbers ----- asmsub any2uword(str string @AY) -> uword @AY { - ; -- returns the number value of the given string - ; the string may be in decimal, hex or binary format - ; (the latter two require a $ or % prefix to be recognised) + ; -- returns the number value of the given string + ; the string may be in decimal, hex or binary format + ; (the latter two require a $ or % prefix to be recognised) ; (any non-digit character will terminate the number string that is parsed) - ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) - %asm {{ - pha - sta P8ZP_SCRATCH_W1 - sty P8ZP_SCRATCH_W1+1 - ldy #0 - lda (P8ZP_SCRATCH_W1) - ldy P8ZP_SCRATCH_W1+1 - cmp #'$' - beq _hex - cmp #'%' - beq _bin - pla - jmp str2uword -_hex pla - jmp hex2uword -_bin pla - jmp bin2uword - }} + ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) + %asm {{ + pha + sta P8ZP_SCRATCH_W1 + sty P8ZP_SCRATCH_W1+1 + ldy #0 + lda (P8ZP_SCRATCH_W1) + ldy P8ZP_SCRATCH_W1+1 + cmp #'$' + beq _hex + cmp #'%' + beq _bin + pla + jmp str2uword +_hex pla + jmp hex2uword +_bin pla + jmp bin2uword + }} } inline asmsub str2ubyte(str string @AY) clobbers(Y) -> ubyte @A { ; -- returns in A the unsigned byte value of the string number argument in AY ; the number may NOT be preceded by a + sign and may NOT contain spaces ; (any non-digit character will terminate the number string that is parsed) - ; result in A, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) + ; result in A, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) %asm {{ - jsr conv.str2uword + jsr conv.str2uword }} } @@ -288,9 +286,9 @@ inline asmsub str2byte(str string @AY) clobbers(Y) -> ubyte @A { ; -- returns in A the signed byte value of the string number argument in AY ; the number may be preceded by a + or - sign but may NOT contain spaces ; (any non-digit character will terminate the number string that is parsed) - ; result in A, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) + ; result in A, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) %asm {{ - jsr conv.str2word + jsr conv.str2word }} } @@ -298,11 +296,11 @@ asmsub str2uword(str string @AY) -> uword @AY { ; -- returns the unsigned word value of the string number argument in AY ; the number may NOT be preceded by a + sign and may NOT contain spaces ; (any non-digit character will terminate the number string that is parsed) - ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) + ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) %asm {{ _result = P8ZP_SCRATCH_W1 - sta P8ZP_SCRATCH_W2 - sty P8ZP_SCRATCH_W2+1 + sta P8ZP_SCRATCH_W2 + sty P8ZP_SCRATCH_W2+1 ldy #0 sty _result sty _result+1 @@ -313,7 +311,7 @@ _loop sbc #48 bpl _digit _done - sty cx16.r15 + sty cx16.r15 lda _result ldy _result+1 rts @@ -357,7 +355,7 @@ asmsub str2word(str string @AY) -> word @AY { ; -- returns the signed word value of the string number argument in AY ; the number may be preceded by a + or - sign but may NOT contain spaces ; (any non-digit character will terminate the number string that is parsed) - ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) + ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) %asm {{ _result = P8ZP_SCRATCH_W1 sta P8ZP_SCRATCH_W2 @@ -380,7 +378,7 @@ _parse lda (P8ZP_SCRATCH_W2),y sbc #48 bpl _digit _done - sty cx16.r15 + sty cx16.r15 lda _negative beq + sec @@ -394,7 +392,7 @@ _done ldy _result+1 rts _digit - cmp #10 + cmp #10 bcs _done ; add digit to result pha @@ -413,102 +411,102 @@ _negative .byte 0 } asmsub hex2uword(str string @AY) -> uword @AY { - ; -- hexadecimal string (with or without '$') to uword. - ; string may be in petscii or c64-screencode encoding. - ; stops parsing at the first character that's not a hex digit (except leading $) - ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) - %asm {{ - sta P8ZP_SCRATCH_W2 - sty P8ZP_SCRATCH_W2+1 - ldy #0 - sty P8ZP_SCRATCH_W1 - sty P8ZP_SCRATCH_W1+1 - sty cx16.r15+1 - lda (P8ZP_SCRATCH_W2),y - beq _stop - cmp #'$' - bne _loop - iny + ; -- hexadecimal string (with or without '$') to uword. + ; string may be in petscii or c64-screencode encoding. + ; stops parsing at the first character that's not a hex digit (except leading $) + ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) + %asm {{ + sta P8ZP_SCRATCH_W2 + sty P8ZP_SCRATCH_W2+1 + ldy #0 + sty P8ZP_SCRATCH_W1 + sty P8ZP_SCRATCH_W1+1 + sty cx16.r15+1 + lda (P8ZP_SCRATCH_W2),y + beq _stop + cmp #'$' + bne _loop + iny _loop - lda #0 - sta P8ZP_SCRATCH_B1 - lda (P8ZP_SCRATCH_W2),y - beq _stop - cmp #7 ; screencode letters A-F are 1-6 - bcc _add_letter - cmp #'g' - bcs _stop - cmp #'a' - bcs _add_letter - cmp #'0' - bcc _stop - cmp #'9'+1 - bcs _stop + lda #0 + sta P8ZP_SCRATCH_B1 + lda (P8ZP_SCRATCH_W2),y + beq _stop + cmp #7 ; screencode letters A-F are 1-6 + bcc _add_letter + cmp #'g' + bcs _stop + cmp #'a' + bcs _add_letter + cmp #'0' + bcc _stop + cmp #'9'+1 + bcs _stop _calc - asl P8ZP_SCRATCH_W1 - rol P8ZP_SCRATCH_W1+1 - asl P8ZP_SCRATCH_W1 - rol P8ZP_SCRATCH_W1+1 - asl P8ZP_SCRATCH_W1 - rol P8ZP_SCRATCH_W1+1 - asl P8ZP_SCRATCH_W1 - rol P8ZP_SCRATCH_W1+1 - and #$0f - clc - adc P8ZP_SCRATCH_B1 - ora P8ZP_SCRATCH_W1 - sta P8ZP_SCRATCH_W1 - iny - bne _loop + asl P8ZP_SCRATCH_W1 + rol P8ZP_SCRATCH_W1+1 + asl P8ZP_SCRATCH_W1 + rol P8ZP_SCRATCH_W1+1 + asl P8ZP_SCRATCH_W1 + rol P8ZP_SCRATCH_W1+1 + asl P8ZP_SCRATCH_W1 + rol P8ZP_SCRATCH_W1+1 + and #$0f + clc + adc P8ZP_SCRATCH_B1 + ora P8ZP_SCRATCH_W1 + sta P8ZP_SCRATCH_W1 + iny + bne _loop _stop - sty cx16.r15 - lda P8ZP_SCRATCH_W1 - ldy P8ZP_SCRATCH_W1+1 - rts + sty cx16.r15 + lda P8ZP_SCRATCH_W1 + ldy P8ZP_SCRATCH_W1+1 + rts _add_letter - pha - lda #9 - sta P8ZP_SCRATCH_B1 - pla - jmp _calc - }} + pha + lda #9 + sta P8ZP_SCRATCH_B1 + pla + jmp _calc + }} } asmsub bin2uword(str string @AY) -> uword @AY { - ; -- binary string (with or without '%') to uword. - ; stops parsing at the first character that's not a 0 or 1. (except leading %) - ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) - %asm {{ - sta P8ZP_SCRATCH_W2 - sty P8ZP_SCRATCH_W2+1 - ldy #0 - sty P8ZP_SCRATCH_W1 - sty P8ZP_SCRATCH_W1+1 - sty cx16.r15+1 - lda (P8ZP_SCRATCH_W2),y - beq _stop - cmp #'%' - bne _loop - iny + ; -- binary string (with or without '%') to uword. + ; stops parsing at the first character that's not a 0 or 1. (except leading %) + ; result in AY, number of characters processed also remains in cx16.r15 if you want to use it!! (0 = error) + %asm {{ + sta P8ZP_SCRATCH_W2 + sty P8ZP_SCRATCH_W2+1 + ldy #0 + sty P8ZP_SCRATCH_W1 + sty P8ZP_SCRATCH_W1+1 + sty cx16.r15+1 + lda (P8ZP_SCRATCH_W2),y + beq _stop + cmp #'%' + bne _loop + iny _loop - lda (P8ZP_SCRATCH_W2),y - cmp #'0' - bcc _stop - cmp #'2' - bcs _stop + lda (P8ZP_SCRATCH_W2),y + cmp #'0' + bcc _stop + cmp #'2' + bcs _stop _first asl P8ZP_SCRATCH_W1 - rol P8ZP_SCRATCH_W1+1 - and #1 - ora P8ZP_SCRATCH_W1 - sta P8ZP_SCRATCH_W1 - iny - bne _loop + rol P8ZP_SCRATCH_W1+1 + and #1 + ora P8ZP_SCRATCH_W1 + sta P8ZP_SCRATCH_W1 + iny + bne _loop _stop - sty cx16.r15 - lda P8ZP_SCRATCH_W1 - ldy P8ZP_SCRATCH_W1+1 - rts - }} + sty cx16.r15 + lda P8ZP_SCRATCH_W1 + ldy P8ZP_SCRATCH_W1+1 + rts + }} } } diff --git a/compiler/res/prog8lib/cx16logo.p8 b/compiler/res/prog8lib/cx16logo.p8 index e4bc884d9..0506afdae 100644 --- a/compiler/res/prog8lib/cx16logo.p8 +++ b/compiler/res/prog8lib/cx16logo.p8 @@ -1,3 +1,5 @@ +; routine to draw the Commander X16's log in petscii. + %import textio cx16logo { diff --git a/compiler/res/prog8lib/diskio.p8 b/compiler/res/prog8lib/diskio.p8 index 3682423dc..2f3cb968b 100644 --- a/compiler/res/prog8lib/diskio.p8 +++ b/compiler/res/prog8lib/diskio.p8 @@ -1,8 +1,10 @@ +; C64 and Cx16 disk drive I/O routines. +; +; Written by Irmen de Jong (irmen@razorvine.net) - license: GNU GPL 3.0 + %import textio %import syslib -; Note: this code is compatible with C64 and CX16. - diskio { sub directory(ubyte drivenumber) -> ubyte { diff --git a/compiler/res/prog8lib/math.asm b/compiler/res/prog8lib/math.asm index 963d1cc04..cc7711429 100644 --- a/compiler/res/prog8lib/math.asm +++ b/compiler/res/prog8lib/math.asm @@ -1,11 +1,8 @@ -; Prog8 internal Math library routines - always included by the compiler +; Internal Math library routines - always included by the compiler ; Generic machine independent 6502 code. ; ; Written by Irmen de Jong (irmen@razorvine.net) - license: GNU GPL 3.0 ; -; indent format: TABS, size=8 - - ; some more interesting routines can be found here: ; http://6502org.wikidot.com/software-math ; http://codebase64.org/doku.php?id=base:6502_6510_maths diff --git a/compiler/res/prog8lib/math.p8 b/compiler/res/prog8lib/math.p8 index b13b000fc..ceff18d48 100644 --- a/compiler/res/prog8lib/math.p8 +++ b/compiler/res/prog8lib/math.p8 @@ -1,8 +1,6 @@ -; Prog8 internal Math library routines - always included by the compiler +; Internal Math library routines - always included by the compiler ; ; Written by Irmen de Jong (irmen@razorvine.net) - license: GNU GPL 3.0 -; -; indent format: TABS, size=8 math { %asminclude "library:math.asm", "" diff --git a/compiler/res/prog8lib/prog8_lib.asm b/compiler/res/prog8lib/prog8_lib.asm index da1a6f038..a995e102d 100644 --- a/compiler/res/prog8lib/prog8_lib.asm +++ b/compiler/res/prog8lib/prog8_lib.asm @@ -1,9 +1,7 @@ -; Prog8 internal library routines - always included by the compiler +; Internal library routines - always included by the compiler ; Generic machine independent 6502 code. ; ; Written by Irmen de Jong (irmen@razorvine.net) - license: GNU GPL 3.0 -; -; indent format: TABS, size=8 read_byte_from_address_on_stack .proc @@ -1021,33 +1019,33 @@ _arg_s2 .word 0 strcmp_mem .proc ; -- compares strings in s1 (AY) and s2 (P8ZP_SCRATCH_W2). ; Returns -1,0,1 in A, depeding on the ordering. Clobbers Y. - sta P8ZP_SCRATCH_W1 - sty P8ZP_SCRATCH_W1+1 -_loop ldy #0 - lda (P8ZP_SCRATCH_W1),y - bne + - lda (P8ZP_SCRATCH_W2),y - bne _return_minusone - beq _return -+ lda (P8ZP_SCRATCH_W2),y - sec - sbc (P8ZP_SCRATCH_W1),y - bmi _return_one - bne _return_minusone - inc P8ZP_SCRATCH_W1 - bne + - inc P8ZP_SCRATCH_W1+1 -+ inc P8ZP_SCRATCH_W2 - bne _loop - inc P8ZP_SCRATCH_W2+1 - bne _loop + sta P8ZP_SCRATCH_W1 + sty P8ZP_SCRATCH_W1+1 +_loop ldy #0 + lda (P8ZP_SCRATCH_W1),y + bne + + lda (P8ZP_SCRATCH_W2),y + bne _return_minusone + beq _return ++ lda (P8ZP_SCRATCH_W2),y + sec + sbc (P8ZP_SCRATCH_W1),y + bmi _return_one + bne _return_minusone + inc P8ZP_SCRATCH_W1 + bne + + inc P8ZP_SCRATCH_W1+1 ++ inc P8ZP_SCRATCH_W2 + bne _loop + inc P8ZP_SCRATCH_W2+1 + bne _loop _return_one - lda #1 -_return rts + lda #1 +_return rts _return_minusone - lda #-1 - rts - .pend + lda #-1 + rts + .pend sign_extend_stack_byte .proc diff --git a/compiler/res/prog8lib/prog8_lib.p8 b/compiler/res/prog8lib/prog8_lib.p8 index 22eff4287..d38c05927 100644 --- a/compiler/res/prog8lib/prog8_lib.p8 +++ b/compiler/res/prog8lib/prog8_lib.p8 @@ -1,18 +1,16 @@ -; Prog8 internal library routines - always included by the compiler +; Internal library routines - always included by the compiler ; ; Written by Irmen de Jong (irmen@razorvine.net) - license: GNU GPL 3.0 -; -; indent format: TABS, size=8 prog8_lib { %asminclude "library:prog8_lib.asm", "" %asminclude "library:prog8_funcs.asm", "" - uword @zp retval_interm_w ; to store intermediary expression results for return values (hopefully allocated on ZP to reduce code size) - ubyte @zp retval_interm_b ; to store intermediary expression results for return values (hopefully allocated on ZP to reduce code size) + uword @zp retval_interm_w ; to store intermediary expression results for return values (hopefully allocated on ZP to reduce code size) + ubyte @zp retval_interm_b ; to store intermediary expression results for return values (hopefully allocated on ZP to reduce code size) - asmsub pattern_match(str string @AY, str pattern @R0) clobbers(Y) -> ubyte @A { - %asm {{ + asmsub pattern_match(str string @AY, str pattern @R0) clobbers(Y) -> ubyte @A { + %asm {{ ; pattern matching of a string. ; Input: cx16.r0: A NUL-terminated, <255-length pattern ; AY: A NUL-terminated, <255-length string @@ -42,43 +40,43 @@ str = P8ZP_SCRATCH_W1 _match - ldx #$00 ; x is an index in the pattern - ldy #$ff ; y is an index in the string + ldx #$00 ; x is an index in the pattern + ldy #$ff ; y is an index in the string modify_pattern1 next lda $ffff,x ; look at next pattern character MODIFIED - cmp #'*' ; is it a star? - beq star ; yes, do the complicated stuff - iny ; no, let's look at the string - cmp #'?' ; is the pattern caracter a ques? - bne reg ; no, it's a regular character - lda (str),y ; yes, so it will match anything - beq fail ; except the end of string + cmp #'*' ; is it a star? + beq star ; yes, do the complicated stuff + iny ; no, let's look at the string + cmp #'?' ; is the pattern caracter a ques? + bne reg ; no, it's a regular character + lda (str),y ; yes, so it will match anything + beq fail ; except the end of string reg cmp (str),y ; are both characters the same? - bne fail ; no, so no match - inx ; yes, keep checking - cmp #0 ; are we at end of string? - bne next ; not yet, loop + bne fail ; no, so no match + inx ; yes, keep checking + cmp #0 ; are we at end of string? + bne next ; not yet, loop found rts ; success, return with c=1 star inx ; skip star in pattern modify_pattern2 - cmp $ffff,x ; string of stars equals one star MODIFIED - beq star ; so skip them also + cmp $ffff,x ; string of stars equals one star MODIFIED + beq star ; so skip them also stloop txa ; we first try to match with * = "" - pha ; and grow it by 1 character every - tya ; time we loop - pha ; save x and y on stack - jsr next ; recursive call - pla ; restore x and y - tay - pla - tax - bcs found ; we found a match, return with c=1 - iny ; no match yet, try to grow * string - lda (str),y ; are we at the end of string? - bne stloop ; not yet, add a character + pha ; and grow it by 1 character every + tya ; time we loop + pha ; save x and y on stack + jsr next ; recursive call + pla ; restore x and y + tay + pla + tax + bcs found ; we found a match, return with c=1 + iny ; no match yet, try to grow * string + lda (str),y ; are we at the end of string? + bne stloop ; not yet, add a character fail clc ; yes, no match found, return with c=0 - rts - }} - } + rts + }} + } } diff --git a/compiler/res/prog8lib/string.p8 b/compiler/res/prog8lib/string.p8 new file mode 100644 index 000000000..2e5bb42c7 --- /dev/null +++ b/compiler/res/prog8lib/string.p8 @@ -0,0 +1,9 @@ +; 0-terminated string manipulation routines. +; +; Written by Irmen de Jong (irmen@razorvine.net) - license: GNU GPL 3.0 + + +string { + + +} diff --git a/compiler/res/prog8lib/test_stack.p8 b/compiler/res/prog8lib/test_stack.p8 index 1c1f51c19..b173bd28b 100644 --- a/compiler/res/prog8lib/test_stack.p8 +++ b/compiler/res/prog8lib/test_stack.p8 @@ -1,48 +1,50 @@ +; utility debug code to print the X (evalstack) and SP (cpu stack) registers. + %import textio test_stack { asmsub test() { %asm {{ - stx _saveX - lda #13 - jsr txt.chrout - lda #'-' - ldy #12 -- jsr txt.chrout - dey - bne - - lda #13 - jsr txt.chrout - lda #'x' - jsr txt.chrout - lda #'=' - jsr txt.chrout - lda _saveX - jsr txt.print_ub - lda #' ' - jsr txt.chrout - lda #'s' - jsr txt.chrout - lda #'p' - jsr txt.chrout - lda #'=' - jsr txt.chrout - tsx - txa - jsr txt.print_ub - lda #13 - jsr txt.chrout - lda #'-' - ldy #12 -- jsr txt.chrout - dey - bne - - lda #13 - jsr txt.chrout - ldx _saveX - rts -_saveX .byte 0 + stx _saveX + lda #13 + jsr txt.chrout + lda #'-' + ldy #12 +- jsr txt.chrout + dey + bne - + lda #13 + jsr txt.chrout + lda #'x' + jsr txt.chrout + lda #'=' + jsr txt.chrout + lda _saveX + jsr txt.print_ub + lda #' ' + jsr txt.chrout + lda #'s' + jsr txt.chrout + lda #'p' + jsr txt.chrout + lda #'=' + jsr txt.chrout + tsx + txa + jsr txt.print_ub + lda #13 + jsr txt.chrout + lda #'-' + ldy #12 +- jsr txt.chrout + dey + bne - + lda #13 + jsr txt.chrout + ldx _saveX + rts +_saveX .byte 0 }} } } diff --git a/examples/.editorconfig b/examples/.editorconfig new file mode 100644 index 000000000..161e7859f --- /dev/null +++ b/examples/.editorconfig @@ -0,0 +1,22 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +max_line_length = 120 +tab_width = 4 +trim_trailing_whitespace = true +ij_smart_tabs = true + +[*.p8] +tab_width = 4 +indent_size = 4 +indent_style = space + +[*.asm] +tab_width = 8 +indent_size = 8 +indent_style = tab