Back in the day, I ordered a disk from one of the Apple II public domain distributors. On side 1 is 1978 6502 FIG-Forth. On side 2 is a Forth tutorial which contains this all-time gem:
SCR # 95
0 FRAME #86 THE FORTH COMMANDMENTS
1 1. I AM THY 'WORD', THOU SHALT SEPARATE ME BY SPACES.
2 2 ...
Search found 362 matches
- Mon Feb 07, 2022 1:51 am
- Forum: Forth
- Topic: The Forth commandments (comedy)
- Replies: 2
- Views: 4809
- Mon Jun 28, 2021 12:35 am
- Forum: Emulation and Simulation
- Topic: Help with conversion floating point to 4 byte for apple1
- Replies: 2
- Views: 912
Re: Help with conversion floating point to 4 byte for apple1
Buried in the rabbit hole of all those threads is this post which covers converting the bytes the floating point number they represent, and goes through some examples.
viewtopic.php?p=3116#p3116
viewtopic.php?p=3116#p3116
- Mon Jun 28, 2021 12:31 am
- Forum: Programming
- Topic: Mandelbrot implementation for the Apple II?
- Replies: 6
- Views: 2112
Re: Mandelbrot implementation for the Apple II?
This post discusses an adaptation of Bishop's routines for the 65C816. Everything's in assembly, and there are some optimizations, though it's not a big deal if X0, DX, DY, and YY are calculated once at the beginning in BASIC.
http://forum.6502.org/viewtopic.php?f=2&t=2243
Code and documentation ...
http://forum.6502.org/viewtopic.php?f=2&t=2243
Code and documentation ...
- Sun Jan 31, 2021 12:03 am
- Forum: EhBASIC
- Topic: Renumber command for EhBASIC
- Replies: 9
- Views: 17026
Re: Renumber command for EhBASIC
On the (1980) Apple II DOS 3.3 System Master (DOS 3.2 also, I believe), there was a program called RENUMBER for renumbering Applesoft programs (it also allowed you to load two Applesoft programs in memory at once and merge them). It could be probably be adapted to EhBASIC fairly easily, since the ...
- Sat Jan 23, 2021 6:11 pm
- Forum: General Discussions
- Topic: Andrew Jacobs (BitWise) has passed away
- Replies: 28
- Views: 12429
Re: Andrew Jacobs (BitWise) has passed away
Sad news indeed. Here's a thread he started that turned out to be fun and interesting. One of my favorites.
viewtopic.php?f=2&t=1206
viewtopic.php?f=2&t=1206
- Sat Jan 09, 2021 8:11 pm
- Forum: Emulation and Simulation
- Topic: Kowalski Simulator Updates
- Replies: 468
- Views: 687370
Re: Kowalski Simulator Updates
What does everyone prefer?
I don't use the Kowalski simulator, so I have no opinion on which way to go, but I will suggest that it might be worth allowing the user to select which behavior it uses. Code wraps at a bank boundary, but data does not. When X is nonzero or the m flag is 0, LDA $12FFFF ...
I don't use the Kowalski simulator, so I have no opinion on which way to go, but I will suggest that it might be worth allowing the user to select which behavior it uses. Code wraps at a bank boundary, but data does not. When X is nonzero or the m flag is 0, LDA $12FFFF ...
- Thu Dec 03, 2020 6:05 am
- Forum: Emulation and Simulation
- Topic: Kowalski Simulator Updates
- Replies: 468
- Views: 687370
Re: Kowalski Simulator Updates
https://github.com/jdimeglio/6502-Monitor
Looks like you've got a bug in the T command; there should be a CLD at NBRNCH (after JSR SAVE) and BRANCH, otherwise the PCADJ calculations can be wrong if you step through code that runs in decimal mode. The S command from the Apple II old monitor ROM has ...
Looks like you've got a bug in the T command; there should be a CLD at NBRNCH (after JSR SAVE) and BRANCH, otherwise the PCADJ calculations can be wrong if you step through code that runs in decimal mode. The S command from the Apple II old monitor ROM has ...
- Tue Nov 03, 2020 5:44 am
- Forum: Programming
- Topic: What assembly syntax is good to support in an assembler?
- Replies: 47
- Views: 13751
Re: What assembly syntax is good to support in an assembler?
I regularly run into circumstances where I wish the local labels had a slightly broader scope, such as routines with an additional entry point in the middle.
An approach I've found to work pretty well is:
MIN
LDA 1,X
CMP 0,X
BCC .2
.1 LDA 0,X
.2 INX
RTS
MAX
LDA 1,X
CMP 0,X
BCC MIN.1
INX ...
An approach I've found to work pretty well is:
MIN
LDA 1,X
CMP 0,X
BCC .2
.1 LDA 0,X
.2 INX
RTS
MAX
LDA 1,X
CMP 0,X
BCC MIN.1
INX ...
- Thu Nov 14, 2019 5:20 am
- Forum: Newbies
- Topic: M50734 code
- Replies: 74
- Views: 13702
Re: M50734 code
Again I rechecked pin1 IC1 and there is no change to the strobe output.
Pin 1 isn't the output of Timer 1. Pin 1 is strobe output of timer S, which is a 128 ms pulse. The routine at $6CCF enables the strobe output (by setting bit 4 of memory location $F5) and sets the pulse width by storing $0F ...
Pin 1 isn't the output of Timer 1. Pin 1 is strobe output of timer S, which is a 128 ms pulse. The routine at $6CCF enables the strobe output (by setting bit 4 of memory location $F5) and sets the pulse width by storing $0F ...
- Mon Nov 11, 2019 6:08 am
- Forum: Newbies
- Topic: M50734 code
- Replies: 74
- Views: 13702
Re: M50734 code
At 941mS from boot there is a large loop which repeats infinitely.
The main (background) loop is located at (ROM1) addresses $5940 to $5968. Reset vectors to address $2048, which jumps to $27B0. At $29BA, it jumps to $5940. (Interrupts are enabled by the CLI instruction at $29B4.) At $5940 are 13 ...
The main (background) loop is located at (ROM1) addresses $5940 to $5968. Reset vectors to address $2048, which jumps to $27B0. At $29BA, it jumps to $5940. (Interrupts are enabled by the CLI instruction at $29B4.) At $5940 are 13 ...
- Mon Nov 04, 2019 5:20 am
- Forum: Programming
- Topic: Yet anther assembler...
- Replies: 22
- Views: 2815
Re: Yet anther assembler...
Do you think it happens often in practice that an 8 bit symbol becomes 16 bit but could be shrunk back to 8 bit after other symbols are resolved?
How about this?
ORG $FD
LDA $1FF-LABEL
LABEL
Pass 1: at LDA, LABEL isn't defined yet, so choose absolute addressing; at the definition of LABEL (on ...
How about this?
ORG $FD
LDA $1FF-LABEL
LABEL
Pass 1: at LDA, LABEL isn't defined yet, so choose absolute addressing; at the definition of LABEL (on ...
- Mon Nov 04, 2019 5:16 am
- Forum: Newbies
- Topic: M50734 code
- Replies: 74
- Views: 13702
Re: M50734 code
Attached are the code extracts.
The BOOT spreadsheet is just the code as it's executing the RESET handler starting at $27B0. It's initializing various memory locations and it looks perfectly normal.
The CODE 1, 2, and 3 spreadsheets are similar to the earlier spreadsheet. It appears that it's ...
The BOOT spreadsheet is just the code as it's executing the RESET handler starting at $27B0. It's initializing various memory locations and it looks perfectly normal.
The CODE 1, 2, and 3 spreadsheets are similar to the earlier spreadsheet. It appears that it's ...
- Mon Oct 28, 2019 3:19 am
- Forum: Newbies
- Topic: M50734 code
- Replies: 74
- Views: 13702
Re: M50734 code
/DME update: based on what ROM1 and ROM3 are doing, it's looking very much like the theory suggested earlier is correct, i.e. that (when enabled) /DME is active (i.e.) low only on the last cycle of instructions with (zp),Y addressing.
I believe that /DME does not apply to (zp,X) addressing, based ...
I believe that /DME does not apply to (zp,X) addressing, based ...
- Mon Oct 28, 2019 3:18 am
- Forum: Newbies
- Topic: M50734 code
- Replies: 74
- Views: 13702
Re: M50734 code
Did the ROM file get posted somewhere?
Dumps of ROM1 and ROM3 were sent to me privately. I don't mind sharing information with the rest of the group, and I realize that the manual with schematics is out there, but I think it's wise to be cautious about posting ROM dumps or disassemblies publicly ...
Dumps of ROM1 and ROM3 were sent to me privately. I don't mind sharing information with the rest of the group, and I realize that the manual with schematics is out there, but I think it's wise to be cautious about posting ROM dumps or disassemblies publicly ...
- Fri Oct 25, 2019 4:35 am
- Forum: Newbies
- Topic: M50734 code
- Replies: 74
- Views: 13702
Re: M50734 code
Update: The $8000 mapping mystery is solved. ROM3 contains JMP instructions from $8000 to $804A. So those routines from $2058 are $236C are calling ROM3 routines. In effect $8000+3*n are entry points in ROM3 which are called from ROM1.
In fact, this goes the other way as well. The JMP instructions ...
In fact, this goes the other way as well. The JMP instructions ...