codex
-
- Posts: 503
- Joined: Sat Jul 11, 2020 3:30 pm
codex
So I downloaded the R39 emulator and noticed that ROM bank 7 is now CODEX, a CodeX16 Interactive Assembly Environment / Monitor. On a whim I typed CODEX in immediate mode in the r39 emulator, and was greeted with a blank blue screen. The only key that seemed to work was the down arrow. I tried this several times, and sometimes the down arrow would cause a single letter P to appear at the top left corner of the screen, and turned the bottom half of the screen black. Other times, it would print the word VERIFYING on the second line from the top of the screen. Nothing else happened.
Is there documentation for CODEX anywhere?
codex
On 3/30/2022 at 10:54 PM, Ed Minchau said:
So I downloaded the R39 emulator and noticed that ROM bank 7 is now CODEX, a CodeX16 Interactive Assembly Environment / Monitor. On a whim I typed CODEX in immediate mode in the r39 emulator, and was greeted with a blank blue screen. The only key that seemed to work was the down arrow. I tried this several times, and sometimes the down arrow would cause a single letter P to appear at the top left corner of the screen, and turned the bottom half of the screen black. Other times, it would print the word VERIFYING on the second line from the top of the screen. Nothing else happened.
Is there documentation for CODEX anywhere?
According to the X-16 ROM Readme, this is the assembly environment written by @mjallison42
The latest version on his web site is from 2020 and possibly not compatible with the R39 hardware. Here's the web site:
https://sites.google.com/view/x16asmenv/v0-81-beta?authuser=0
For some reason, the ROM documentation doesn't get included with the emulator:
https://github.com/commanderx16/x16-rom
and
https://github.com/commanderx16/x16-rom/tree/master/dos
Both those are useful documentation for developers and users alike
-
- Posts: 503
- Joined: Sat Jul 11, 2020 3:30 pm
codex
Unfortunately, that ROM documentation appears to be the same as what's shown in the BASIC reference, at least for codex - just stating that it exists. If it's r38 only, then it really needs to be updated.
codex
On 3/31/2022 at 6:09 AM, Ed Minchau said:
Unfortunately, that ROM documentation appears to be the same as what's shown in the BASIC reference, at least for codex - just stating that it exists. If it's r38 only, then it really needs to be updated.
Yes, it does, and Mike is aware. I got a response from @mjallison42, and there are more changes coming:
Quote
I will be submitting a PR next week with a series of fixes.
Mike A
-- https://github.com/commanderx16/x16-rom/pull/202
-
- Posts: 17
- Joined: Mon May 04, 2020 3:44 am
codex
Hi all,
I've been busy this last couple of weeks and renewed activity of the ROM caught me off guard. The Codex in ROM is from July of last year. I have another large pull request to submit, I need to square that all away with the current release. I'll update the docs too. There is some older stuff on Codex at: https://sites.google.com/view/x16asmenv/home
regards,
Mike A
-
- Posts: 17
- Joined: Mon May 04, 2020 3:44 am
codex
The huge bug fix went in, although I have another to submit. Docs next. Things ought to be squared away for r40.
There are still some small items to be completed, and I'll hit those after the docs. BTW, I'll submit some docs to the official doc repo too.
codex
On 4/14/2022 at 10:06 AM, mjallison42 said:
The huge bug fix went in, although I have another to submit. Docs next. Things ought to be squared away for r40.
There are still some small items to be completed, and I'll hit those after the docs. BTW, I'll submit some docs to the official doc repo too.
I'm looking forward to the documentation. I'd love to see what CodeX16 is capable of.
codex
I've been doing some experimentation on CodeX16 without any documentation and I've noticed a few frustrating bugs.
First, I can't get ABS,Y to assemble for the zero page, so, for example, LDA $0024,Y won't assemble, instead giving me a syntax error. If I put a zero page reference through ABS,Y in through the monitor, I can get it to disassemble in CodeX16, but I can't edit it to use a different zero page address, forcing me to go back to the monitor to make such changes.
Second, relative addressing is badly flawed, requiring that the offset be on the same page as the next instruction, but also requiring that I add 2 to the target address to get the correct address. This further complicates the effort required to get the correct address. Disassembly again shows everything correctly, both target offset and offset value, but the assembly is much more complicated than it needs to be.
For example, if I'm at address $0BA7, for example, and I need to branch on equal to $0C04, I must type BEQ $0B06 to get BEQ $0C04 in the disassembly. If I'm at address $0C07 and need to get to address $0BF4 with a branch with carry clear, I must type BCC $0CF6 to get BCC $0BF4 in my actual code. And if I am at address $0B70 and need to branch positive to $0B90, I must type BPL $0B92 to get BPL $0B90 in my code.
Hope both of these issues are addressed soon. CodeX is an interesting environment and I'd like to see it improve, but I don't believe it's ready for mainstream use yet.