Jump to content
DZ-Jay

Introducing the IntyBASIC SDK

Recommended Posts

I currently use notepad ++ using the VB context highlighting. I could have made my own specific IntyBasic one but I never bothered. The group behind the SDK are looking at something for integration into the SDK, with syntax highlighting and compile and run from the editor among other things

  • Like 4

Share this post


Link to post
Share on other sites

I've been married to Emacs for 21 years now, and the only time I'm cheating with other text editors is in case of emergency when I use Notepad, Nano etc for scribbling down quick notes.

 

Actually I'm in the middle of making my own IntyBASIC mode for Emacs, in particular as it contains functionality for evoking compilers etc. If I get it to work well, I'll share.

  • Like 3

Share this post


Link to post
Share on other sites

I use EditPlus, which has been my editor of choice in Windows since the late 1990s. I also created an IntyBASIC syntax file for it last week-end which I plan on sharing if anybody wants it. I also integrated it with the SDK tools so I can build/run with a single keystroke.

 

I recommend EditPlus to anybody. It is not free, but well worth the $35.00 price. Plus, I paid once in the 1990s, and have received free upgrades, including a new release just last week. (I don't get kickbacks, nor am I affiliated with the produce in any way. I just really, really like it. I like it so much that I am also moderator in the volunteer support list!)

 

On the Mac, I use TextMate, but I've been considering switching to Sublime for the past several years.

 

-dZ.

Edited by DZ-Jay

Share this post


Link to post
Share on other sites

I also created an IntyBASIC syntax file for it last week-end which I plan on sharing if anybody wants it.

I would love to see this become a standard part of the IntyBASIC distribution. I have no idea how to import it into my current editor of choice, but it'd be a godsend. IntyBASIC doesn't always warn you if you manage to use certain keywords in certain ways.

Share this post


Link to post
Share on other sites

I would love to see this become a standard part of the IntyBASIC distribution. I have no idea how to import it into my current editor of choice, but it'd be a godsend. IntyBASIC doesn't always warn you if you manage to use certain keywords in certain ways.

 

We're actually looking for a free and good editor to include with the SDK, or at least to directly support and integrate. I don't expect everybody to purchase EditPlus, and I think Notepad++ is just too clunky. (For me, it has always been the free and cheesy version of EditPlus.)

 

If any of you have ideas, please let us know. I'll try to provide syntax files for the most common ones. Below are the IntyBASIC tokens I've prepared for EditPlus:

 

 

 

#KEYWORD=Reserved words
ALTERNATE
ASM
AT
CLS
COLOR
CONST
DEF
DIM
ELSE
END
FN
FOR
FRAME
FULL
GOSUB
GOTO
IF
INCLUDE
INIT
NEXT
NONE
NTSC
OFF
ON
PLAY
PRINT
READ
REM
REPEAT
RESTORE
RETURN
SIMPLE
SOUND
STACK_CHECK
STEP
STOP
THEN
TO
USR
WAIT
WEND
WHILE

#KEYWORD=Arithmetic Operators
+
=
-
*
/
%
(
)
<
>

#KEYWORD=Boolean Operators
AND
OR
NOT
XOR

#KEYWORD=Objects & Structures
ARRAY
B0
B1
B2
BITMAP
BORDER
BUTTON
CONT
CONT1
CONT2
DATA
DEFINE
DOWN
KEY
LEFT
MODE
MUSIC
NUMBER
PROCEDURE
RIGHT
SCREEN
SCROLL
SPRITE
UP
VARPTR
VOICE

#KEYWORD=Functions
ABS
PEEK
POKE
RAND
RANDOM
SGN
COL0
COL1
COL2
COL3
COL4
COL5
COL6
COL7
SCREENPOS
SCREENADDR

#KEYWORD=Assembly Directives
ORG

#KEYWORD=Constants
BACKTAB
BACKGROUND_ROWS
BACKGROUND_COLUMNS
BG00
BG01
BG02
BG03
BG04
BG05
BG06
BG07
BG08
BG09
BG10
BG11
BG12
BG13
BG14
BG15
BG16
BG17
BG18
BG19
BG20
BG21
BG22
BG23
BG24
BG25
BG26
BG27
BG28
BG29
BG30
BG31
BG32
BG33
BG34
BG35
BG36
BG37
BG38
BG39
BG40
BG41
BG42
BG43
BG44
BG45
BG46
BG47
BG48
BG49
BG50
BG51
BG52
BG53
BG54
BG55
BG56
BG57
BG58
BG59
BG60
BG61
BG62
BG63
DEF00
DEF01
DEF02
DEF03
DEF04
DEF05
DEF06
DEF07
DEF08
DEF09
DEF10
DEF11
DEF12
DEF13
DEF14
DEF15
DEF16
DEF17
DEF18
DEF19
DEF20
DEF21
DEF22
DEF23
DEF24
DEF25
DEF26
DEF27
DEF28
DEF29
DEF30
DEF31
DEF32
DEF33
DEF34
DEF35
DEF36
DEF37
DEF38
DEF39
DEF40
DEF41
DEF42
DEF43
DEF44
DEF45
DEF46
DEF47
DEF48
DEF49
DEF50
DEF51
DEF52
DEF53
DEF54
DEF55
DEF56
DEF57
DEF58
DEF59
DEF60
DEF61
DEF62
DEF63
SCREEN_COLOR_STACK
SCREEN_FOREGROUND_BACKGROUND
SCREEN_CS
SCREEN_FB
BORDER_BLACK
BORDER_BLUE
BORDER_RED
BORDER_TAN
BORDER_DARKGREEN
BORDER_GREEN
BORDER_YELLOW
BORDER_WHITE
BORDER_GREY
BORDER_CYAN
BORDER_ORANGE
BORDER_BROWN
BORDER_PINK
BORDER_LIGHTBLUE
BORDER_YELLOWGREEN
BORDER_PURPLE
STACK_BLACK
STACK_BLUE
STACK_RED
STACK_TAN
STACK_DARKGREEN
STACK_GREEN
STACK_YELLOW
STACK_WHITE
STACK_GREY
STACK_CYAN
STACK_ORANGE
STACK_BROWN
STACK_PINK
STACK_LIGHTBLUE
STACK_YELLOWGREEN
STACK_PURPLE
CS_BLACK
CS_BLUE
CS_RED
CS_TAN
CS_DARKGREEN
CS_GREEN
CS_YELLOW
CS_WHITE
CS_GREY
CS_CYAN
CS_ORANGE
CS_BROWN
CS_PINK
CS_LIGHTBLUE
CS_YELLOWGREEN
CS_PURPLE
CS_CARD_DATA_MASK
CS_ADVANCE
FG_BLACK
FG_BLUE
FG_RED
FG_TAN
FG_DARKGREEN
FG_GREEN
FG_YELLOW
FG_WHITE
BG_BLACK
BG_BLUE
BG_RED
BG_TAN
BG_DARKGREEN
BG_GREEN
BG_YELLOW
BG_WHITE
BG_GREY
BG_CYAN
BG_ORANGE
BG_BROWN
BG_PINK
BG_LIGHTBLUE
BG_YELLOWGREEN
BG_PURPLE
FGBG_CARD_DATA_MASK
HIT
VISIBLE
ZOOMX2
DOUBLEY
ZOOMY2
ZOOMY4
ZOOMY8
FLIPX
FLIPY
MIRROR
GRAM
BEHIND
SPR_BLACK
SPR_BLUE
SPR_RED
SPR_TAN
SPR_DARKGREEN
SPR_GREEN
SPR_YELLOW
SPR_WHITE
SPR_GREY
SPR_CYAN
SPR_ORANGE
SPR_BROWN
SPR_PINK
SPR_LIGHTBLUE
SPR_YELLOWGREEN
SPR_PURPLE
SPR00
SPR01
SPR02
SPR03
SPR04
SPR05
SPR06
SPR07
SPR08
SPR09
SPR10
SPR11
SPR12
SPR13
SPR14
SPR15
SPR16
SPR17
SPR18
SPR19
SPR20
SPR21
SPR22
SPR23
SPR24
SPR25
SPR26
SPR27
SPR28
SPR29
SPR30
SPR31
SPR32
SPR33
SPR34
SPR35
SPR36
SPR37
SPR38
SPR39
SPR40
SPR41
SPR42
SPR43
SPR44
SPR45
SPR46
SPR47
SPR48
SPR49
SPR50
SPR51
SPR52
SPR53
SPR54
SPR55
SPR56
SPR57
SPR58
SPR59
SPR60
SPR61
SPR62
SPR63
HIT_SPRITE0
HIT_SPRITE1
HIT_SPRITE2
HIT_SPRITE3
HIT_SPRITE4
HIT_SPRITE5
HIT_SPRITE6
HIT_SPRITE7
HIT_BACKGROUND
HIT_BORDER
DISC_NORTH
DISC_NORTH_NORTH_EAST
DISC_NORTH_EAST
DISC_EAST_NORTH_EAST
DISC_EAST
DISC_EAST_SOUTH_EAST
DISC_SOUTH_EAST
DISC_SOUTH_SOUTH_EAST
DISC_SOUTH
DISC_SOUTH_SOUTH_WEST
DISC_SOUTH_WEST
DISC_WEST_SOUTH_WEST
DISC_WEST
DISC_WEST_NORTH_WEST
DISC_NORTH_WEST
DISC_NORTH_NORTH_WEST
DISC_N
DISC_NNE
DISC_NE
DISC_ENE
DISC_E
DISC_ESE
DISC_SE
DISC_SSE
DISC_S
DISC_SSW
DISC_SW
DISC_WSW
DISC_W
DISC_WNW
DISC_NW
DISC_NNW
DISC_UP
DISC_UP_RIGHT
DISC_RIGHT
DISC_DOWN_RIGHT
DISC_DOWN
DISC_DOWN_LEFT
DISC_LEFT
DISC_UP_LEFT
DISK_MASK
C2
D2
E2
F2
G2
A2
B2
C3
D3
E3
F3
G3
A3
B3
C4
D4
E4
F4
G4
A4
B4
C5
D5
E5
F5
G5
A5
B5
C6
D6
E6
F6
G6
A6
B6
C7
#

 

 

 

-dZ.

  • Like 2

Share this post


Link to post
Share on other sites

 

We're actually looking for a free and good editor to include with the SDK, or at least to directly support and integrate. I don't expect everybody to purchase EditPlus, and I think Notepad++ is just too clunky. (For me, it has always been the free and cheesy version of EditPlus.)

 

If any of you have ideas, please let us know.

 

I'm no help as I live in Linux-land, where we have an abundance of good, free editors - and no one can agree on the same one. And most of them aren't commonly available to Windows users.

 

I've been partial to Kate for the past many years. It's got a convenient multi-doc tree view, and does decent syntax highlighting. It has "some" automatic support from other BASICs, but I've been too lazy so far to really dig into the meat of it. It's all controlled via XML files (and god forbid we ever create a UI to change things like this) so I've never dug into the nitty gritty. Plus I've just never put together a keywords list - wow, I would have missed so many.

Share this post


Link to post
Share on other sites

Wow, wow, and more wow!

 

Thanks for making this. As my posts have shown over the last year, I struggled quite a bit with the nuances of graphics and other things that make up the Intellivision's "secret sauce". This looks like a great help to lightweights like me with works in progress, anyone that is passingly interested in Intellivision development, or someone that just wants to shorten their development cycle.

 

Thanks!

 

Now I will have to compare my embryonic existing build/batch stuff to what's in the SDK. More stuff to explore to distract me from the real work of coding. :)

 

 

Btw, I use UltraEdit on Windows for my text editor. Lots of features and large file support that I use in paying work.

  • Like 3

Share this post


Link to post
Share on other sites

Wow, wow, and more wow!

 

Thanks for making this. As my posts have shown over the last year, I struggled quite a bit with the nuances of graphics and other things that make up the Intellivision's "secret sauce". This looks like a great help to lightweights like me with works in progress, anyone that is passingly interested in Intellivision development, or someone that just wants to shorten their development cycle.

 

Thanks!

 

Now I will have to compare my embryonic existing build/batch stuff to what's in the SDK. More stuff to explore to distract me from the real work of coding. :)

 

 

Btw, I use UltraEdit on Windows for my text editor. Lots of features and large file support that I use in paying work.

Thanks! We are planning a new release of the SDK in a week or two. We found a couple of minor bugs in some of the tools, and we have plenty of enhancements coming!

 

As for UltraEdit, I'll check it out. Is it free?

  • Like 1

Share this post


Link to post
Share on other sites

@DZ-Jay: It looks like UltraEdit only has a free trial, full version is $79.95, so you get two of your EditPlus for one UltraEdit.

Share this post


Link to post
Share on other sites

@DZ-Jay: It looks like UltraEdit only has a free trial, full version is $79.95, so you get two of your EditPlus for one UltraEdit.

Bummer. Then I'm going out on a limb and disqualify it from our free offerings. :(

Share this post


Link to post
Share on other sites

Thanks for making this. As my posts have shown over the last year, I struggled quite a bit with the nuances of graphics and other things that make up the Intellivision's "secret sauce". This looks like a great help to lightweights like me with works in progress, anyone that is passingly interested in Intellivision development, or someone that just wants to shorten their development cycle.

 

 

I've thought about this for a while now.

 

It's sometimes tricky to have a thread where we cover the basic stuff. Where people feel free to ask the silliest of beginner questions, and can get an answer in "human" terminology. I think it would be nice to be able to have a "graphics" thread. A "sound/music" thread. Etc. Where people can ask specific questions about things they struggle with, and the conversation can stay focused and yet at a high enough level that people can easily understand. A lot of this stuff is actually very simple, once you get a few concepts down. It's just that it's so easy to get into "but here's how you can optimize this by 5%" and "yeah but this trick is way cool". Some people just want to make a simple game where a blocky pixelated chicken walks across the road, and gain great satisfaction from being able to do that. Not all of us are trying to multiplex sprites and create speech waveforms and do complex calculus in our games and eek every last pixel out of the system at the fastest possible speeds.

 

And I say this as one of the worst offenders when it comes to going off on a tangent, or diving waaaay to deep into a technical discussion when all someone wants to know is "what is a MOB". :) So you'd have to ban me from said threads.

 

  • Like 3

Share this post


Link to post
Share on other sites

Actually I'm in the middle of making my own IntyBASIC mode for Emacs, in particular as it contains functionality for evoking compilers etc. If I get it to work well, I'll share.

After taking a crash course in Emacs Lisp (and it was 20 years ago I pretended to know anything about Lisp), I have put together something that works for me but it still a lot of WIP and will need further tune-up. For instance, I haven't enabled the correct syntax highlighting of IntyBASIC keywords yet, and a few ways of doing things may be very un-Emacsy, in particular the kludge where I add a hook right before executing the compiler to execute the assembler afterwards, and in the latter function I remove the hook so the poor as1600 won't run in an endless loop all night. Of course a make file or an external batch file like the ones that the SDK come with would simplify it, but I wanted to see if I could put together a chain of compiler + assembler without relying on additional batch scripts.

 

Edit: Oh dear, even on a failed compilation the buffer will say "finished" which means the assembler will always run even when the compiler failed. I need a better way to detect that...

 

 

 

;;; IntyBASIC mode

;
; For developing BASIC programs for the Mattel Intellivision.
; Based on a similar mode for the DASM 6502 assembler written
; by by Per Olofsson (MagerValp) in 2002.
;
; Copyright 2002 - 2015 Anders Carlsson
; Released under the GNU General Public License, GPL
;
; Comments, questions and suggestions to <[email protected]>
;
; Requirements:
;
; * Emacs 22.x or higher
; * IntyBASIC compiler
; * as1600 assembler
;
; It is recommended to also have an Intellivision emulator.
;
; The compiler, assembler and emulator are all part of the IntyBASIC SDK.
;
; Some manual configuration may be required to set up the path to the
; compiler and assembler.
; (make-variable-buffer-local 'intyb-ccpath)
; (make-variable-buffer-local 'intyb-aspath)
; (make-variable-buffer-local 'intyb-ccparams)
; (make-variable-buffer-local 'intyb-asparams)
; (make-variable-buffer-local 'intyb-verbose)
; (make-variable-buffer-local 'intyb-listfile)
; (make-variable-buffer-local 'intyb-outfile)
; CONFIG: Add file extentions as desired
(setq auto-mode-alist (cons '("\\.bas$" . intyb-mode) auto-mode-alist))
; CONFIG: Set path to the intybasic and as1600 executables.
; Leave empty in case they already exist within default path.
(setq intyb-ccpath "d:/retro/intellivision/intybasic/")
(setq intyb-aspath "d:/emu/jzintv-20150120-win32/bin/")
; Compile parameters supported by IntyBASIC
;
; --jlp JLP support (extra RAM and hardware acceleration)
; --cc3 Cuttle Cart 3 support (extra RAM)
; --title "name" Title of compiled program, for emulators and multicarts
(setq intyb-ccparams '(("jlp" . nil)
("cc3" . nil)
("title" . "")))
; Assembly parameters supported by as1600
;
; -j file Smap file for debugging (used with intysmap)
; -s file Sym file for debugging
;
; See also settings for listfile and output file below
(setq intyb-asparams '(("j" . "")
("s" . "")))
; Future setting for verbosity of the IntyBASIC compiler
(setq intyb-verbose nil)
; Assembler file as generated by IntyBASIC
(setq intyb-asmfile nil)
; Listfile as generated by as1600
(setq intyb-listfile nil)
; Output file as generated by as1600 (i.e. binary file)
(setq intyb-outfile nil)
(defun nonemptyp (x)
(and (consp x)
(or (and (stringp (cdr x))
(> (length (cdr x)) 0))
(and (not (stringp (cdr x)))
(not (not (cdr x)))))))
(defun intyb-param (x)
(if (nonemptyp x)
(concat "--" (car x)
(if (stringp (cdr x))
(concat " \"" (cdr x) "\""))
" ")
""))
(defun as1600-param (x)
(if (nonemptyp x)
(concat "-" (car x)
(if (stringp (cdr x))
(concat " \"" (cdr x) "\""))
" ")
""))
(defun intyb-assemble (buffer msg)
"Sub function to assemble once the compilation is successfully finished."
(setq compilation-finish-functions (cdr compilation-finish-functions))
(if (string-match "^finished" msg)
(compile (concat intyb-aspath "as1600 -o " intyb-outfile
(if (and (stringp intyb-listfile)
(> (length intyb-listfile) 0))
(concat " -l " intyb-listfile))
" " (apply 'concat (mapcar 'as1600-param intyb-asparams))
" " intyb-asmfile))))
(defun intyb-compile ()
"Run the IntyBASIC compiler + as1600 assembler on current buffer."
(interactive)
(setq intyb-asmfile (concat (substring (buffer-name) 0
(string-match "\\." (buffer-name)))
".asm"))
(add-to-list 'compilation-finish-functions 'intyb-assemble)
(compile (concat intyb-ccpath "intybasic "
(apply 'concat (mapcar 'intyb-param intyb-ccparams))
(buffer-name) " " intyb-asmfile)))
; (sit-for 2)
; (get-buffer "*compilation*")
; (rename-buffer "*compilation-intyb*" t)
; (get-buffer (buffer-name))
; (compile (concat intyb-aspath "as1600 -o " intyb-outfile
; (if (and (stringp intyb-listfile)
; (> (length intyb-listfile) 0))
; (concat " -l " intyb-listfile))
; " " asmfile))))
; (if (numberp intyb-verbose)
; (concat " -v" (number-to-string intyb-verbose)))
; (if (stringp intyb-listfile) (concat " -l" intyb-listfile))
; (if (stringp intyb-outfile) (concat " -o" intyb-outfile))
; Example of other options to add
; (if (numberp intyb-passes) (concat " -p" intyb-passes))
; (if (stringp intyb-incdir) (concat " -I" intyb-incdir))
(defvar intyb-font-lock-keywords
'(
("\\(;.*\\)$" . font-lock-comment-face)
("^\\([a-zA-Z0-9_:]+\\)\\b" . font-lock-constant-face)
("[ \t]+\\(d[csv].[bwl]?\\|hex\\|eqm\\|equ\\|set\\)\\b" . font-lock-type-face)
("[ \t]+\\(seg\\|seg.u\\|org\\|rorg\\|rend\\|align\\)\\b" . font-lock-warning-face)
("[ \t]+\\(include\\|incbin\\|incdir\\|ifconst\\|ifnconst\\|if\\|else\\|endif\\|eif\\|subroutine\\|repeat\\|repend\\)\\b" . font-lock-variable-name-face)
("[ \t]+\\(processor\\|err\\|echo\\|list\\)\\b" . font-lock-builtin-face)
("[ \t]+\\(adc\\|and\\|asl\\|bcc\\|bcs\\|beq\\|bit\\|bmi\\|bne\\|bpl\\|brk\\|bvc\\|bvs\\|clc\\|cld\\|cli\\|clv\\|cmp\\|cpx\\|cpy\\|dec\\|dex\\|dey\\|eor\\|inc\\|inx\\|iny\\|jmp\\|jsr\\|lda\\|ldx\\|ldy\\|lsr\\|nop\\|ora\\|pha\\|php\\|pla\\|plp\\|rol\\|ror\\|rti\\|rts\\|sbc\\|sec\\|sed\\|sei\\|sta\\|stx\\|sty\\|tax\\|tay\\|tsx\\|txa\\|txs\\|tya\\)\\b" . font-lock-keyword-face)
)
"Expressions to highlight in intyb-mode.")
(defun intyb-set-verbose (res)
"Set verboseness level (useful is 0-4)."
(interactive "nVerboseness: ")
(setq intyb-verbose (if (and (integerp res) (> res 0)) res)))
(defun intyb-set-outfile (res)
"Set output file name."
(interactive "sOutput file: ")
(setq intyb-outfile (if (> (length res) 0) res)))
(defun intyb-set-listfile (res)
"Set list file name (default is none)."
(interactive "sList file: ")
(setq intyb-listfile (if (> (length res) 0) res)))
(defun intyb-set-suffix (res)
"Set binary file suffix (default is bin)."
(interactive "sFile suffix: ")
(setq intyb-outfile
(concat (substring (buffer-name) 0 (string-match "\\." (buffer-name)))
"." res)))
(defun intyb-set-title (res)
"Set title of compiled program, for emulators and multicarts."
(interactive "sTitle: ")
(setcdr (assoc "title" intyb-ccparams) res))
(defun intyb-set-smap (res)
"Set smap file for debugging (used with intysmap)."
(interactive "sSmap file: ")
(setcdr (assoc "j" intyb-asparams) res))
(defun intyb-set-sym (res)
"Set sym file for debugging."
(interactive "sSym file: ")
(setcdr (assoc "s" intyb-asparams) res))
(defun intyb-toggle-jlp ()
"Toggle jlp support."
(interactive)
(let ((tval (assoc "jlp" intyb-ccparams)))
(setcdr tval (not (cdr tval)))
(message "JLP support %s" (if (cdr tval) "on" "off"))))
(defun intyb-toggle-cc3 ()
"Toggle jlp support."
(interactive)
(let ((tval (assoc "cc3" intyb-ccparams)))
(setcdr tval (not (cdr tval)))
(message "CC3 support %s" (if (cdr tval) "on" "off"))))
(define-derived-mode intyb-mode fundamental-mode "IntyBASIC"
"Mode for editing IntyBASIC source files."
(interactive)
(setq tab-width 4)
(set (make-local-variable 'comment-start) ";")
(set (make-local-variable 'comment-end) "$")
(make-local-variable 'font-lock-defaults)
(setq font-lock-defaults '(intyb-font-lock-keywords nil t))
(make-local-variable 'compilations-read-command)
(setq compilation-read-command nil)
(setq intyb-outfile
(concat (substring (buffer-name) 0 (string-match "\\." (buffer-name)))
".bin"))
(local-set-key "\C-c\C-a" 'intyb-compile)
(local-set-key "\C-c\C-v" 'intyb-set-verbose)
(local-set-key "\C-c\C-o" 'intyb-set-outfile)
(local-set-key "\C-c\C-l" 'intyb-set-listfile)
(local-set-key "\C-c\C-s" 'intyb-set-suffix)
(local-set-key "\C-c\C-tj" 'intyb-toggle-jlp)
(local-set-key "\C-c\C-tc" 'intyb-toggle-cc3)
(local-set-key "\C-c\C-tt" 'intyb-set-title)
(local-set-key "\C-c\C-dj" 'intyb-set-smap)
(local-set-key "\C-c\C-ds" 'intyb-set-sym))
; Helper functions to convert from decimal to binary
(defun decbin (x1 x2)
(interactive "r")
(let ((xc (count-lines x1 x2))
(obj ""))
(goto-char x1)
(while (>= xc 1)
(setq obj (thing-at-point 'word))
(setq xc (- xc 1))
(if obj
(progn
(insert (substring
(concat "00000000"
(decbin-helper (string-to-number obj))) -8 nil))
(delete-region (point) (line-end-position))))
(forward-line))))
(defun decbin-helper (x)
(if (= x 0) ""
(concat (decbin-helper (/ x 2))
(number-to-string (mod x 2)))))

Edited by carlsson
  • Like 2

Share this post


Link to post
Share on other sites

No. All of that to eventually get syntax highlighting (for those who want - personally I'm not entirely thrilled about it), and a way to use a shortcut key combination to compile instead of having a shell window open and run the script. In theory also this would work on any Emacs installation, i.e. you wouldn't have to adjust the shell script to fit Windows, Linux, OSX etc, as long as the required compiler and assembler already are ported for your OS of course.

Share this post


Link to post
Share on other sites

Since we are a little low on strife in this part of the AA forum, should I say that vim is the best way to do everything over emacs, or should I wait until next week? :)

 

 

No. All of that to eventually get syntax highlighting (for those who want - personally I'm not enti[snip].

  • Like 2

Share this post


Link to post
Share on other sites

On UNIX, vim is The One True Editor .

 

Just like in Windows, it's EditPlus; and on the Mac, it's TextMate.

 

Coincidentally, those are what I use.

 

There, with such infallible proof, there is no reason to argue over this.

 

:lol:

  • Like 1

Share this post


Link to post
Share on other sites

vi won the war, even though emacs is arguably better. But goddamn if every Unix shop doesn't just stick with vi(m), with the usual "well you can use emacs if you want".

 

I just checked, and my most recent *buntu build doesn't even come with emacs installed! That kinda surprises me.

  • Like 1

Share this post


Link to post
Share on other sites

I see that the SDK has been downloaded over 40 times. Does anybody have any questions, problems to report, or any features they would like to see in the next version?

 

dZ.

  • Like 1

Share this post


Link to post
Share on other sites

Hi guys, I finished my move (and hooked up my workstation) and it's time to continue working on the IntyBASIC SDK v1.0.2. I expect to have it out really soon now, so don't despair. :)

 

Among the many improvements are inclusion of the latest version of the IntyBASIC compiler, just hot off the oven yesterday; more examples and contributions, bug fixes to the tools and compiler integration, default title screen template for new projects.

 

Also coming is the IntyBASIC SDK 1.0.2 for Mac OS X! So stay tuned to this channel...

 

-dZ.

  • Like 3

Share this post


Link to post
Share on other sites

My laptop has been virtually useless since the forced update of windows 10 hit me two weeks ago. Finally got it back to Win8 but things are still very wonky and seem to lock up frequently. Chrome is having major issues too. Anyway, hoping to see the the SDK 1.0.2 soon. I have some ideas for games. nothing too original but hoping to get in on the contest and start things soon.

  • Like 3

Share this post


Link to post
Share on other sites

My laptop has been virtually useless since the forced update of windows 10 hit me two weeks ago. Finally got it back to Win8 but things are still very wonky and seem to lock up frequently. Chrome is having major issues too. Anyway, hoping to see the the SDK 1.0.2 soon. I have some ideas for games. nothing too original but hoping to get in on the contest and start things soon.

 

It's coming, I swear. There have been many developments and improvements, and I am also trying to get the Mac version ready as well.

 

Also, every time Oscar releases a new IntyBASIC, I need to go and re-test and fix the samples to use the new features!

 

Oscar, mate, leave it alone for a couple of weeks! :lol:

  • Like 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...