Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Xeda112358

Pages: 1 ... 4 5 [6] 7 8 ... 317
76
Grammer / Re: Creating Modules on calc?
« on: February 27, 2020, 12:06:04 pm »
I guess Im late to the party as usual.
Looking at the module code, I assume it is written for spasm. Mimas is kinda picky with moving addresses. RORG $ADDRESS should make it so that all following code will start at that address. This means that you should use RORG instead of ORG for Mimas. It also has tools for converting .asm files to its own appvar format (and back) for some easy copy and paste to and from the editor.
Oh, nice! ORG was in fact the cause of some of my headaches with that.

EDIT: I updated my version of Granmer on-calc (there was in fact a bug in the outdated version I had). Combined with using rorg instead, it worked !

77
Grammer / Re: Creating Modules on calc?
« on: February 26, 2020, 03:25:54 pm »
It would almost certainly say the same thing

78
Grammer / Re: Creating Modules on calc?
« on: February 26, 2020, 03:15:27 pm »
I just used the same format as listed, except I had to hard-code the offsets. It could also have been a bug in the version of Grammer that I was using.

79
Grammer / Re: Creating Modules on calc?
« on: February 26, 2020, 10:34:45 am »
I attempted this with Mimas and managed to crash my calc when I tried to use it :|

80
Calculator C / Re: reading the battery voltage
« on: February 23, 2020, 07:46:53 am »
I wish I could help, I just don't know much about the Nspire .___.

81
TI Z80 / Re: GroupRead
« on: February 21, 2020, 10:45:19 am »
You should definitely give the first post a read; this program lets you get the names of all the vars, and you can just copy the program that you want to run to a temp program.Then just run the temp program :P

My comment was more about having a command where you give it a name, GrpRead copies the program to temp program, then GrpRead executes it. It turns out that there is a lot of room for memory leaks and it just isn't worth it to save an extra couple of bytes in the BASIC program.

82
ASM / Re: [z80] Floating Point Routines
« on: February 21, 2020, 12:50:43 am »
Wow, it has been over a year since I last updated this thread. I followed up on that todo list a while ago, but I'm posting to announce a new addition to the library: 24-bit floats! I basically wrote all of these in the last 48 hours and I'm pretty burned-out:
https://github.com/Zeda/z80float/tree/master/f24

These floats are a fantastic balance of speed and usefulness on the Z80, and I think all of the routines fit into about 2500 bytes, so they are compact, too.

83
News / Grammer 2.51 released!
« on: February 15, 2020, 05:41:25 pm »
After seven years, Grammer was revived with a new update! In fact, since then, there have been three more major updates, including today's Grammer 2.51.0.0.

After losing the source code in 2013, Grammer progress died, but then in 2016 Hans Burch(ticalc) recovered the source code, presumably by disassembling the last binary and comparing it to an old source file. I didn't actually get to working on Grammer again until late 2018, but since that it has had fairly steady updates. I first documented, reorganized, and cleaned up the code, then put it up on GitHub. I started adding features and managed to rope in @NonstickAtom785 into the action with bug reports, improved documentation, and recently some bug fixes.

In the past 16 months, there have been many updates and modifications to expand Grammer's abilities. With these new updates, Grammer has now graduated up from a 1-page app to a 2-page app (16384 bytes vs. 32768 bytes), but the updates are (hopefully) worth it!

Here is a quick summary of added features since the 2012 update.
  • Grammer now has a real main menu! Instead of just showing one entry at a time, now you can scroll through programs with a real scrollable menu.
       
  • Grammer now has support for single-precision floating point math, including the basic operations, as well as exponentials, logarithms, trig, inverse trig, and more! Keep in mind, Grammer is intended to use 16-bit integer math, so it's a bit convoluted to use floats:
  • Grammer has an external module system, which means that specialty routines can be added to extend the language. For example, Yeong has created a textbox module which can be useful for game dialog!
  • Grayscale is not backwards compatible. Grayscale is now 4-level gray, instead of 3-level. Grayscale now takes color from both buffers, so BOTH buffers must have a black pixel to appear black (before, there was a black buffer and a gray buffer, where a black pixel in the former would override the latter).
  • Input and Menu routines have been significantly modified, with Input being the most obvious. In place of highlighting the entered text, a blinking cursor is displayed, making it more obvious that input is desired from the user. On the programming end, you can now relocate the Input buffer and size. So now if you want to have the user enter a name of up to 8 bytes, you can point the input buffer to where you want the string written, and set the size to 8. The Menu( routine now has scrolling, and internally it is more memory friendly, allowing more options. An entirely new Menu(' routine allows the programmer to generate menu items using a subroutine. This could be really useful for game menus where, say, an inventory menu is prone to changing.
  • Grammer officially has stack support!
  • You can now save and restore variables within a ▶Nom(...End block, which is useful for subroutines.
  • Pt-Off( finally supports big sprites!
Spoiler For More updates:
  • The source code has been cleaned up significantly and put on GitHub.
  • RecallPic now works on archived picture variables.
  • pxl-Test(' was removed and replaced with an equivalent rectangle method.
  • Rectangle clipping now works in all directions!
  • Line drawing now has real clipping!
  • The solve( now includes port commands, and relocation of where the vars are stored.
  • L (the list L), can be used to execute specific lines of code.
  • Text( now supports displaying signed numbers via the Fix command, as well as floating point numbers.
  • ▶Dec converts a string to a float, useful for user input.
  • Param can be used to read a list of parameters passed to a subroutine.
  • Param' and Param° push to and pop from a stack, respectively, where Pmt_Bgn points to the start of the stack and Pmt_End points to the end of the stack.
  • Circle( has 9 new methods, all with different fill options (much like the rectangle routines).
  • Variable-width fonts have a more sensible format, and the fonts are ported to work with DrDnar's Monochrome Font Editor. The font files are included with the downloads so you can use them as templates for your own fonts.

Download the latest Grammer v2.51!


84
Grammer / Re: Latest Grammer Updates
« on: February 15, 2020, 11:07:47 am »
Grammer v2.51.0.0
Time for 2.51 !

The GitHub page is getting a lot more documentation, thanks to @NonstickAtom785 (both in documenting and bugging me to document stuff).

Bug Fixes:
  • Fixed bug with Param
  • Fixed bugs with Input
  • Fixed bug with PauseIf. This was allowing un-breakable infinite loops!
  • Fixed bugs with Archive/Unarchive (and similar bugs). These could cause crashes.
  • Fixed bugs with archiving in the main menu
  • Fixed bug with empty strings
  • Fixed bug with ending quotes on strings!
  • Fixed Omnicalc/Batlib fonts
  • Fixed bug with not implementing screen invert :|

Updates:
  • Optimized Dispgraph
  • Added new display methods that allow overlaying or masking multiple buffers
  • Added smooth-scrolling tilemap routines! This is long overdue; I reserved space for more tilemap commands and it took 8 years to actually do it >_>
  • Reimplemented degree token to temporarily set a buffer
  • Added TI-OS fonts to the text routines (request)
  • Added support for archived fonts (but not Grammer's variable-width format fonts :/)
  • The menu routine font is no longer hard-coded, so you can use custom fonts!
  • Menu(' now has a mode to support multiple headers, so you can make menus where you press left/right to go to the next menu.
  • Updated variable-width font at request to look like it used to.
  • Reimplemented ' option for the Menu( command.
  • Added DS<( to complement IS>( (nonstickatom)
  • Recreated the program launcher. This is an assembly program that calls the Grammer parser to parse code (caled prgmG250).

Here's a screenshot implementing the smooth-scrolling tilemap commands and new DispGraph techniques:



In news related to Grammer updates, this might be the last major update for a while; life is about to get very busy for me. If all goes according to plan, this "busy" might be longterm :)

EDIT: Forgot to add the files >_>

85
Grammer / Re: Grammer 2-The APP
« on: February 01, 2020, 10:42:28 am »
@NonstickAtom785 : You were looking for this I think.

When I updated Grammer to 2.50, I declined to make a program launcher thing. (I used to supply an assembly program that could be used to either run a Grammer program, or execute in-line Grammer code.)

I had fun with creating this .gif showing that you can basically mix Grammer code inside a BASIC program (aside: The other way around is more difficult):


For compatibility reasons, I renamed the assembly program to prgmG250.
Code: [Select]
Inputs:
    - Ans is a string: Then it is the name of the Grammer program to execute.
    - Ans is not a string: Then the code following Asm(prgmG250 is executed as Grammer code up to a Stop,
      then it continues as TI-BASIC code.

So, some things to consider: I know when I make Grammer programs, I put subroutines after the Stop. If you tried to in-line one of those programs this way, the TI-BASIC parser would pick up at the subroutines, almost certainly causing an error! Instead, you'll want to reorganize your code like:
Code: [Select]
  <TI-BASIC code>

Asm(prgmG250
  <Grammer code>
Goto Lbl "Stop
  <subroutines>

.Stop
Stop

  <TI-BASIC code>


Basically, just make sure that the Stop that your Grammer code reaches comes right before where you want the TI-BASIC parser to pick up. In the example gif, the program I ran had no subroutines, so I didn't ave to worry about the structure.

A final note, prgmG250 should be compatible with at least v2.50.0.2 and after. I didn't check 2.50.0.0 and 2.50.0.1, but it should work with those, too.

86
TI-BASIC / Re: New-style Program Editor for TI-83+?
« on: January 30, 2020, 09:03:21 am »
Oh, those were the easy parts. I was saying the hard part was the graphical part :P I already have tokenizing and stuff working for a few teat cases, like when you type the letters for Line(, it convert to the TI-BASIC Line( token and it has special tokens for Axe, and I could easily make "Text('" show up as the single token "TextNum " for Grammer mode :P

87
TI-BASIC / Re: New-style Program Editor for TI-83+?
« on: January 30, 2020, 08:46:41 am »
Honestly, the most difficult part for me has been just displaying the content efficiently, and scrolling accordingly. The other difficult part (that I was able to do) is creating the routines for moving around memory to insert/delete/overwrite. All the fancy stuff like tokenizing (i.e., turning the text "Line(" into the "Line(" token) and re-tokenizing (i.e. displaying "WLine(" as "WhiteLine(") are pretty easy, but tedious. Making menus is difficult, but I already have some pretty general-purpose menu routines, so that is also just tedious.

88
TI-BASIC / Re: New-style Program Editor for TI-83+?
« on: January 29, 2020, 04:42:07 pm »
Well, in the same way I kind of hacked the 8x8 fonts, I ended up having to make a custom routine and had to mess with the stack pointer to bypass the OS drawing routine. You could do it with a small-font, but it would be hell to write the code for it :|

89
TI-BASIC / Re: New-style Program Editor for TI-83+?
« on: January 29, 2020, 03:26:56 pm »
Also a question for the "pro's". Would it be possible to write a font hook that makes the whole OS run on small font? That would be quite entertaining and also very useful.

It would be quite difficult, probably. The font hooks  only ask for the data and expect it to be in a specific format. I had to do some very convoluted things in Batlib to enable 8-pixel wide fonts. Basically, text drawn with the large font (that the OS naturally uses) is drawn only to the LCD and not to the graph screen, and the LCD supports a 6-bit and 8-bit mode.

It is doable, it would just be difficult.

90
TI-BASIC / Re: New-style Program Editor for TI-83+?
« on: January 26, 2020, 10:15:48 pm »
Well, that is quite strange. Did you make sure to change it to $48 and add in the four spaces at the end of the name to make it eight bytes?

EDIT: Also, yeah, it is far from a release; it is fairly unstable and likes to crash especially if you go off-screen

Pages: 1 ... 4 5 [6] 7 8 ... 317