0 Members and 4 Guests are viewing this topic.
#define hcall(xxxx) call hybcall \ .dw xxxx ; available in hybrid.inchybcall ; This routine will be available in ram page 0, in order to be accessed from anywhere. ex (sp),hl ld a,(hl) ld (hybcall_id),a inc hl ld a,(hl) ld (hybcall_id+1),a inc hl ex (sp),hl in a,($06) ld (hybcall_backup),a.db $3E ; ld a,hybcall_page.db 0 ; replaced by the app page during system initialization out ($06),a.db $CD ; callhybcall_id.dw 0 ; updated by the code above.db $3E ; ld a,hybcall_backup.db 0 ; updated by the code above out ($06),a ret
Well, just remember hybrid is 100% free from the TI-OS code and RAM.
Well, just remember hybrid is 100% free from the TI-OS code and RAM.That means TI-OS hooks aren't available at all.
$0000>$3FFF : unused (shame)$4000>$7FFF : RAM page 1 - free to use for both execution & storage$8000>$BFFF : RAM page 2 - free to use for both execution & storage$C000>$? : RAM page 0 - free to use for both execution & storage$?>$FFFF : RAM page 0 - some hybrid routines + hybrid data + stack
Not quite true. At that point the TI-OS still clutters $0000-$3FFF.
Of course I wasn't talking about TI-OS's hooks. I know the RAM chip has execution hooks, so I thought maybe it had read/write hooks too.
You can't write to $4000-$7FFF, as it is not RAM, unless you map a RAM page to it, but in this case it won't be compatible with TI-83+ BE which only have 2 RAM pages for $8000-$FFFF.