Search found 362 matches

by dclxvi
Mon Feb 07, 2022 1:51 am
Forum: Forth
Topic: The Forth commandments (comedy)
Replies: 2
Views: 4809

The Forth commandments (comedy)

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 ...
by dclxvi
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
by dclxvi
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 ...
by dclxvi
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 ...
by dclxvi
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
by dclxvi
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 ...
by dclxvi
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 ...
by dclxvi
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 ...
by dclxvi
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 ...
by dclxvi
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 ...
by dclxvi
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 ...
by dclxvi
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 ...
by dclxvi
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 ...
by dclxvi
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 ...
by dclxvi
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 ...