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 - the_mad_joob
1
« on: November 26, 2021, 03:43:17 am »
For people who can't wait 5 days, i coded a quick fix. Just run UNLOCK.8xp once, it makes all RAM executable, so the app won't crash when creating a new game anymore. In case you want the RAM execution permission back to its system default configuration, LOCK.8xp basically cancels what UNLOCK.8xp did. Happy testing!
2
« on: November 26, 2021, 02:11:08 am »
Rabbitsign did indeed say the file had a poor signature. You can try this newly signed one. However, I'm not 100% sure it will work, because I "resigned" the app rather than starting from a freshly generated .bin file -- again, the new .bin file will have to wait until my reoptimizing is done.
It appears the resign was properly done. However, attempting to create a new game causes a RAM clear (TI-84+SE). Thanks to wabbitemu, it's due to an execution violation on bank 3 (RAM page 0) at address $C0C9. Not sure if PC is supposed to go there, but if yes, you'll need to expand RAM execution range first.
3
« on: November 25, 2021, 05:49:04 pm »
I'll try to check the 8xk integrity after work. It could also be that DJ Omni encountered the infamous bug that prevents more apps to be sent.
4
« on: October 24, 2021, 10:53:35 pm »
Some love for B&W screenies, yay!
5
« on: August 15, 2021, 12:55:30 pm »
NEW
App variants of the following are now available :
flashmanuf romsize romwrite1 romwritex secterase sectstate
They automatically handle the RAM code copy and execution, and only use the stack.
UPDATED
arcpages : faster and smaller battcheck : prgm variant faster and smaller cpirnc : smaller flashunlock : non-destructive variant fixed guiselect : disabled hardware interrupts now required romwritex : faster and smaller
No longer using letter suffixes in variant names. Continued to improve the documentation.
#####
UPDATED
The following now use a register pair for the temporary RAM location, rather than a fixed address :
battcheck - prgm variant flashmanuf - app variant flashunlock - non-destructive variant romsize - foolproof app variant sectstate - app variant
The following now use an equate for the temporary RAM location, rather than a fixed address :
romwrite1 - app variant romwritex - app variant secterase - app variant
#####
UPDATED
LCD routines : minor optimisation arcpages : faster and smaller keybscan : minor optimisation lcdcfg : now called lcdmode
Continued to improve the documentation.
6
« on: August 08, 2021, 07:16:26 am »
> Fixed the bug that was causing a trash character to often be displayed under the cursor during hex inputs. That was actually introduced before 1.4, and i've been wanting to fix that one for quite a while.
> Removed the useless warning message that was appearing in ZDS log.
7
« on: April 01, 2021, 09:48:28 pm »
I, for one, welcome our new overlords as long as there will be a blue skin. Agree, but cemetech peeps can't handle the omni-bus.
9
« on: April 01, 2021, 02:49:35 pm »
Hello there. Would that mean just an ownership change, or should we expect some significant changes regarding the actual omni site experience?
10
« on: March 13, 2021, 10:57:11 pm »
I'll be honest, i don't play your game. But because of the time & effort you put into it, i'll say thanks, in the name of people who do. Keep up the good work =]
11
« on: February 27, 2021, 11:00:03 pm »
There is also asmdream. It's not exactly a convenient solution though, since it parses tokens (sources & includes are unprotected programs, and the TI-OS program editor is what it is). However, if you're looking for macro support, you might have a use for it. I must admit, this thread makes me somewhat happy that there are still people who write code on calculators themselves, not the computer, because it reminds me of a time when I did the same thing. I only wrote calculator games in school/class. It was a true art not to get caught by some teachers, especially in non-scientific classes. Fun memories from earth...
12
« on: February 10, 2021, 03:45:31 am »
Welcome. This comes after i discovered that the source for calcsys 1.4 is actually public since 2017, and was provided by its original developer, Dan Englender (cheers if you're reading this BTW). Since the update was obviously abandoned, i tested it and made it stable. You'll find the updated source in the attached file. To generate the application, follow the instructions in READ.TXT (windows OS required).I originally tried to contact both Dan and Detached Solutions, but the email boxes are either full, or don't exist anymore. I believe everything follows what's in the license.txt file anyway. DOCUMENTED CHANGES : > Flag byte 20 now displays correctly. > Displays correct size information for archived variables. > Hex Editor now views RAM pages on 84P correctly. UNDOCUMENTED CHANGES (that i discovered, but there might be more) : > "VAT" section : The data location for archived variables now points to the actual data, rather than the whole archive entry. > "About" section : There is now a 1 pixel space between characters. UNOFFICIAL CHANGES (that i performed) : > Fixed the bug that was causing many strings to not be displayed in multiple contexts. > Fixed the bug that was causing a trash character to often be displayed under the cursor during hex inputs. > "About" section : All strings are now entirely displayed. > "About" section : The release date was updated (github source date used as reference). > Missing 1.4 information was added to the documentation, including undocumented and unofficial changes. > The source is now easier to assemble.
13
« on: February 07, 2021, 03:17:13 am »
NEW
guiselect.z80 : Provides interaction with a simple 6x8p-text-based option selection GUI, using a custom cursor. strdelz.z80 : Replaces the leading zeros of the specified character string in RAM by spaces. val16tostrd.z80 : Converts a 16-bit value to a decimal character string, and writes it to RAM.
CHANGED
lcdsavebuf : LCD RAM reading algorithm fixed
Continued to improve documentation.
#####
NEW
r8strbin.z80 : Converts an 8-bit value to a binary character string, and writes it to RAM. r8strdec.z80 : Converts an 8-bit value to a decimal character string, and writes it to RAM. r8strhex.z80 : Converts an 8-bit value to a hexadecimal character string, and writes it to RAM.
CHANGED
arcpagesa : faster and smaller arcpagesb : faster and smaller bootvera : more register-friendly bootverb : more register-friendly flashlocka : faster and smaller flashlockb : faster and smaller flashmanuf : faster and detects extended identification properly flashunlocka : faster flashunlockb : faster and more stack-friendly guiselect : cursor more visible when moving poweroff : faster romwritex : smaller sysvera : more register-friendly sysverb : more register-friendly val16tostrd : faster and now called r16strdec
Continued to improve documentation.
#####
CHANGED
flashunlocka : now working properly on OS 2.21 & 2.22 flashunlockb : now working properly on OS 2.21 & 2.22 romwrite1 : fixed an unlikely case of false positive failure romwritex : fixed an unlikely case of false positive failure secterase : fixed an unlikely case of false positive failure
Continued to improve the documentation.
14
« on: January 15, 2021, 03:40:46 am »
Glad i could be of help. And about flag 3,(iy+$49), it's luckily retro-compatible, so the code works on older systems aswell =] Except of course if some user code modifies it, but i highly doubt anybody ever takes the risk to use the system flags area for storage.
EDIT :
In case you need it for another project, there is also 4,(iy+$49), that tells what is highlighted (0=entry | 1=answer). Of course, you have to check 3,(iy+$49) first to see if something is actually highlighted, cause its state seems unstable if that's not the case. Bits 6 seems to have a function aswell, but i didn't manage to accurately discover which.
15
« on: January 14, 2021, 06:55:06 pm »
I believe i found how to solve everything, and i even discovered an undocumented mathprint flag on my way =] This code simulates ans+enter in a very clean way. By clean i mean exactly as if you did it manually, which means you don't have to deal with adding the entry internally at all. In short, the homescreen hook replaces enter by ans, and right after that, a getcsc hook automatically simulates enter. That also means you don't have to check if there is enough memory for ans, in which case only enter is processed. Also, it appears you don't need to check if a menu is open at all. Note that though the homescreen hook is permanent, the getcsc hook is temporary, and properly restores any older one if there was one. Enjoy :
hook_home
.db $83
di ld c,a in a,($02)
rla jr nc,hook_home_max_speed
ld a,$01 out ($20),a
hook_home_max_speed
dec c jr nz,hook_home_exit
ld a,b
cp kenter jr z,hook_home_enter
hook_home_exit
cp a
ret
hook_home_enter
bit 3,(iy+$49) jr nz,hook_home_exit
;Here is where you check if you want to add Ans or not. ;If yes, jump to hook_home_ans_enter, otherwise return.
hook_home_ans_enter
ld de,appbackupscreen ld hl,flags+hookflags2 ld a,(hl) ld (de),a or %00000001 ld (hl),a ld bc,3 inc de ld hl,getkeyhookptr ldir ld hl,hook_keyboard ld (getkeyhookptr),hl in a,($06) ld (getkeyhookptr+2),a ld b,kans cp a
ret
hook_keyboard
.db $83
di in a,($02)
rla jr nc,hook_keyboard_max_speed
ld a,$01 out ($20),a
hook_keyboard_max_speed
ld de,flags+hookflags2 ld hl,appbackupscreen ldi ld bc,3 ld de,getkeyhookptr ldir ld a,kenter cp a
ret
|