Skip to content

Commit 9a9130f

Browse files
committed
Update
1 parent 5c97d36 commit 9a9130f

27 files changed

Lines changed: 7057 additions & 6982 deletions

CHANGES

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,4 +123,7 @@ Release 22 (01/01/23):
123123
CHG: Updated paging check code.
124124
CHG: Converted break check to Macro.
125125
CHG: Displays hardware information on boot.
126-
CHG: Added BSAVE.
126+
CHG: Added BSAVE.
127+
CHG: Removed final OSCall , the CHECK / STOP routine replaced with Kernel routines.
128+
129+
Release 23 (05/01/23):

TODO

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
Progress:
2-
- Break check (see below)
32
Display Kernel version
43

54
HOWTO:
@@ -21,8 +20,6 @@ Ongoing:
2120
Code reading.
2221
Continue documentation.
2322

24-
As discussed earlier, replace STOP with a loop calling NextEvent until it returns empty (carry set). This function will ultimately handle a variety of events,
25-
but we can start by checking key.PRESSED events for (event.key.flags > 0) and (event.key.ascii == 3). If so, STOP :).
2623
2. Set up tracking variables for 'dx', 'dy', 'dz', and 'buttons' from the mouse_delta event. Every time you get a new mouse.DELTA event in #1, add its dx,dy,dz
2724
values to your cumulative values, and replace your buttons value with the new value from the event. Whenever your tracking variables are read by the basic
2825
program (perhaps assign one or more functions to read them), reset them to zero.
@@ -33,13 +30,3 @@ the basic program, reset them to zero.
3330
use either the .raw or .ascii value (depending on how you want to handle ENTER/ESC/TAB/etc. vs meta keys) to index the array, and store a non-zero value
3431
there to indicate that the key is pressed. Every time you get a key.RELEASED event, clear the associated value. Now your function to test whether a
3532
key is presently held down or not can simply consult the array.
36-
37-
STOP is already calling NextEvent under the hood, so there shouldn't be any performance impact. Ideally, you should be able to test kernel.args.pending first
38-
and skip the kernel call if it's zero, but I /think/ the count might presently be off, so let me make sure it's working before employing that optimization.
39-
There's obviously no reason to call Yield in the STOP code, b/c you're actually doing something while waiting for events to come in (viz running the user's program :).
40-
41-
It looks like the count is working fine. kernel.args.events.pending.
42-
[20:16]
43-
Remember, it's negated (so you can test it with BIT without loading it). (edited)
44-
[20:16]
45-
If it's zero, no need to call NextEvent.

bin/basic.rom

0 Bytes
Binary file not shown.

howto/howto-update.zip

44 Bytes
Binary file not shown.

howto/update/02.bin

0 Bytes
Binary file not shown.

howto/update/03.bin

0 Bytes
Binary file not shown.

source/_basic.asm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616

1717
.include "./common/aa.system/00start.asm"
18+
.include "./common/aa.system/05events.asm"
1819
.include "./common/assembler/assembler.asm"
1920
.include "./common/assembler/aswrite.asm"
2021
.include "./common/assembler/instruction.asm"

source/build/02.bin

0 Bytes
Binary file not shown.

source/build/03.bin

0 Bytes
Binary file not shown.

source/build/basic.rom

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)