Twice.
Anyway, I took time out of my schedule, two and four hours at a time over the last couple of years to resuscitate it. It now seems to be more-or-less as it was before I mothballed it the second time. It functions, you can write and edit code and save it to disk and load it back again. And you can write in assembly language.
Booting and testing BIF-6809 on the XRoar Emulator running Disk Extended Color BASIC |
It's a bit primitive. Raw disk, no file system.
And the call protocol is a bit baroque, using the direct-page mode in a way that will conflict with more general uses.
I hope I can find the time to rewrite it with a more conventional call protocol.
If you missed the link above, you can find it here: https://ja.osdn.net/projects/bif-6809/. (And here is a page for how to get started, and a page to help figure out what to do next.)
I would be happy to hear from anyone who successfully gets it to run on whatever they are running. (Contact me through the project page, please.)
Real Cocos or emulators, it should be just a matter of getting the disk image file bifsource.dsk in the second drive and tools.dsk in the first, and
and, at the static white cursor, such things as
followed by
etc., more in README.TXT and BIFDOC.TXT.
Note that a "Q" screen is a 256 byte sector, where a regular Forth screen is a 1024 block of 4 sectors sitting on a 1024 byte boundary:
I would be happy to hear from anyone who successfully gets it to run on whatever they are running. (Contact me through the project page, please.)
Real Cocos or emulators, it should be just a matter of getting the disk image file bifsource.dsk in the second drive and tools.dsk in the first, and
LOADM "BIF6809.BIN:1"
EXEC &H1300
and, at the static white cursor, such things as
6 LOAD
followed by
0 QLIST
1 QLIST
etc., more in README.TXT and BIFDOC.TXT.
Note that a "Q" screen is a 256 byte sector, where a regular Forth screen is a 1024 block of 4 sectors sitting on a 1024 byte boundary:
Forth SCREEN |
Quick SCReen (decimal) |
Quick SCReen (hex) |
byte offset (hex) |
byte offset (decimal) |
---|---|---|---|---|
0000 | 0 | $0000 | $0000 | == 0 |
1 | $0001 | $0100 | == 256 | |
2 | $0002 | $0200 | == 512 | |
3 | $0003 | $0300 | == 768 | |
0001 | 4 | $0004 | $0400 | == 1024 |
5 | $0005 | $0500 | == 1280 | |
6 | $0006 | $0600 | == 1536 | |
7 | $0007 | $0700 | == 1792 | |
0002 | 8 | $0008 | $0800 | == 2048 |
9 | $0009 | $0900 | == 2304 | |
10 | $000A | $0A00 | == 2560 | |
11 | $000B | $0B00 | == 2816 | |
0003 | 12 | $000C | $0C00 | == 3072 |
13 | $000D | $0D00 | == 3328 | |
14 | $000E | $0E00 | == 3584 | |
15 | $000F | $0F00 | == 3840 |
No comments:
Post a Comment
Courtesy is courteous.