I think FIG-FORTHs UP is the beginning of supporting multiple users or tasks.
The User Area stores everything unique to a task.
The system could have multiple user areas. UP points to the current one.
The FORTH word PAUSE switches to the next task in a ring (cooperative multitasking).
The user area ...
Search found 167 matches
- Sun Mar 29, 2026 9:26 pm
- Forum: Forth
- Topic: Claude and I Vibe Coded a Forth Interpreter
- Replies: 107
- Views: 2256
- Wed Mar 25, 2026 4:30 am
- Forum: Forth
- Topic: Claude and I Vibe Coded a Forth Interpreter
- Replies: 107
- Views: 2256
Re: Claude and I Vibe Coded a Forth Interpreter
Thank you for writing about your adventures with Claude! It's been interesting following along.
I assume Claude has no memory of previous sessions with you, except for the session logs you play back to it at the start of the next session. So to improve Claude's 65816 programming, one needs to play ...
I assume Claude has no memory of previous sessions with you, except for the session logs you play back to it at the start of the next session. So to improve Claude's 65816 programming, one needs to play ...
- Thu Mar 19, 2026 8:16 am
- Forum: Forth
- Topic: Claude and I Vibe Coded a Forth Interpreter
- Replies: 107
- Views: 2256
Re: Claude and I Vibe Coded a Forth Interpreter
There are some more word tests at https://github.com/leepivonka/FM/blob/main/test.fs
The Claude version of FORTH seems not know about colon words. It either ignores them, or converts them to machine code.
The Claude version of FORTH seems not know about colon words. It either ignores them, or converts them to machine code.
- Thu Feb 05, 2026 9:49 pm
- Forum: Programming
- Topic: uint32_t comparison
- Replies: 11
- Views: 808
Re: uint32_t comparison
Maybe like:
u32_cmp: ; compare lba with (YA) as uint32, return P.C & P.Z
sta temp1 ; save ptr to arg
sty temp1+1
ldy #$ff ; start at most-significant byte
@1: iny ; step to next byte
cpy #4
beq @9 ; if done, return z=1, c=1
lda lba,y ; compare
cmp (temp1),y
beq @1
@9: rts
u32_cmp: ; compare lba with (YA) as uint32, return P.C & P.Z
sta temp1 ; save ptr to arg
sty temp1+1
ldy #$ff ; start at most-significant byte
@1: iny ; step to next byte
cpy #4
beq @9 ; if done, return z=1, c=1
lda lba,y ; compare
cmp (temp1),y
beq @1
@9: rts
- Mon Jan 12, 2026 3:38 am
- Forum: Forth
- Topic: dawnFORTH: Yet another crude Forth for the 65C02.
- Replies: 46
- Views: 4633
Re: dawnFORTH: Yet another crude Forth for the 65C02.
Another option is to use more traditional fixed 2 or 4 byte cell size for the primary
FORTH parameter stack & to define additional words & stack for the large integer cells.
Sort of like what ANSI FORTH does for floating point words.
Here is sample set of definitions for separate large integers ...
FORTH parameter stack & to define additional words & stack for the large integer cells.
Sort of like what ANSI FORTH does for floating point words.
Here is sample set of definitions for separate large integers ...
- Mon Jan 12, 2026 3:00 am
- Forum: Hardware
- Topic: An Improved MENSCH™ Microcomputer
- Replies: 218
- Views: 21483
Re: An Improved MENSCH™ Microcomputer
Did you mean to use A4 instead of A5 for CS1 on the 6522?
- Sat Dec 27, 2025 1:08 am
- Forum: Programming
- Topic: What did I forget?
- Replies: 8
- Views: 621
Re: What did I forget?
Do you need to write back to the interrupt status register to tell it you've serviced the T1 interrupt?
- Tue Dec 23, 2025 1:33 am
- Forum: Forth
- Topic: dawnFORTH: Yet another crude Forth for the 65C02.
- Replies: 46
- Views: 4633
Re: dawnFORTH: Yet another crude Forth for the 65C02.
It seems like FIND is a compatibility carry-over from earlier FORTHs.
PARSE-NAME returns the found word in addr,u style that points into part of the input string, no copying needed.
It is easy to pass addr,u into something like FIND-NAME and the word header compilation word.
PARSE-NAME returns the found word in addr,u style that points into part of the input string, no copying needed.
It is easy to pass addr,u into something like FIND-NAME and the word header compilation word.
- Tue Dec 23, 2025 1:04 am
- Forum: Programming
- Topic: Adventures in FAT32 with 65c02
- Replies: 203
- Views: 7494
Re: Adventures in FAT32 with 65c02
Assuming your serial port is implemented as a UART with at least 1 char of buffering, all you can say is your read file routines are on average at least as fast as your serial port.
While the serial port is processing the last TX char, the CPU can compute up to 1 char time (maybe 1 start bit, 8 data ...
While the serial port is processing the last TX char, the CPU can compute up to 1 char time (maybe 1 start bit, 8 data ...
- Fri Dec 05, 2025 8:39 pm
- Forum: Newbies
- Topic: My 65C02 can't jump to subroutines and I don't get why
- Replies: 15
- Views: 1508
Re: My 65C02 can't jump to subroutines and I don't get why
.org is important! It tells the assembler where the following code is in the memory space.
If the assembler thinks the code you are JSRing to is at $802f it will code that absolute address into the instruction. When it executes, it'll jump to $802f & start executing data not intended to be ...
If the assembler thinks the code you are JSRing to is at $802f it will code that absolute address into the instruction. When it executes, it'll jump to $802f & start executing data not intended to be ...
- Tue Nov 18, 2025 4:11 pm
- Forum: Hardware
- Topic: Neon6502 - Compact Replica of Acolyte
- Replies: 43
- Views: 3372
Re: Neon6502 - Compact Replica of Acolyte
Are all of the VDD & VSS pins on the 6502 connected?
Is RDY confirmed always hi?
Is SYNC running?
Is RDY confirmed always hi?
Is SYNC running?
- Tue Nov 18, 2025 5:17 am
- Forum: Hardware
- Topic: Neon6502 - Compact Replica of Acolyte
- Replies: 43
- Views: 3372
Re: Neon6502 - Compact Replica of Acolyte
How does phase 0 (clock input) of the 6502 look like when the clock outputs are not switching?
How do signals around the 74HC161 that generates PHI2 look?
My guess is an inadvertently disconnected CMOS input around the clock generator circuitry.
How do signals around the 74HC161 that generates PHI2 look?
My guess is an inadvertently disconnected CMOS input around the clock generator circuitry.
- Wed Oct 08, 2025 4:10 am
- Forum: Newbies
- Topic: Glue questions
- Replies: 48
- Views: 4551
Re: Glue questions
Many memory devices work as follows:
CE = chip enable = wake up (if this is inactive, OE & WE don't matter)
OE = output enable = turn on data bus drivers (often faster delay than CE)
WE = write enable = remember what is on the data bus (often faster delay than CE)
It is often faster to activate CE ...
CE = chip enable = wake up (if this is inactive, OE & WE don't matter)
OE = output enable = turn on data bus drivers (often faster delay than CE)
WE = write enable = remember what is on the data bus (often faster delay than CE)
It is often faster to activate CE ...
- Tue Sep 23, 2025 6:48 am
- Forum: Forth
- Topic: Forth for the w65c265
- Replies: 8
- Views: 2763
Re: Forth for the w65c265
Arg! I've replaced 65816S.exe with a newer version that does have the V command!
Source is at https://github.com/leepivonka/65816S
Source is at https://github.com/leepivonka/65816S
- Thu Sep 18, 2025 9:00 am
- Forum: Forth
- Topic: Forth for the w65c265
- Replies: 8
- Views: 2763
Re: Forth for the w65c265
The 0265sxb.s28 link is fixed.
The emulator can load binary files with the V command. I use this to run Tali Forth:
V 8000 taliforth-65816s.bin
Z
G
V loads the binary file taliforth-65816s.bin at an offset of $8000.
Z does a reset, to pick up the Tali reset vector.
G starts execution.
If ...
The emulator can load binary files with the V command. I use this to run Tali Forth:
V 8000 taliforth-65816s.bin
Z
G
V loads the binary file taliforth-65816s.bin at an offset of $8000.
Z does a reset, to pick up the Tali reset vector.
G starts execution.
If ...