Atom software archive menu proggie....

discussion of games, software, hardware & emulators relating to the Acorn Atom and Acorn System machines.
Post Reply
Prime
Posts: 2579
Joined: Sun May 31, 2009 11:52 pm
Contact:

Atom software archive menu proggie....

Post by Prime » Sun Aug 26, 2018 6:10 pm

Hi all,

The Text mode menu program in the Atom software archive, how does it read the keyboard, my little STM32 emulated Atom will boot the initial graphical screen, which will let you select "A for commercial, B for modern conversions etc" using A,B,C etc. But once the text mode menu is loaded it stops responding to keypresses. I somewhat suspect that my Noddy keyboard emulation is to blame :) Knowing how it was trying to read the keyboard would help.

Better still is the source available?

Cheers.

Phill.

User avatar
hoglet
Posts: 7600
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Atom software archive menu proggie....

Post by hoglet » Sun Aug 26, 2018 6:24 pm

Prime wrote:
Sun Aug 26, 2018 6:10 pm
The Text mode menu program in the Atom software archive, how does it read the keyboard, my little STM32 emulated Atom will boot the initial graphical screen, which will let you select "A for commercial, B for modern conversions etc" using A,B,C etc. But once the text mode menu is loaded it stops responding to keypresses. I somewhat suspect that my Noddy keyboard emulation is to blame :) Knowing how it was trying to read the keyboard would help.

Better still is the source available?
Here's the source Phill:
https://github.com/hoglet67/AtomSoftwar ... u/menu.asm

As far as I remember, it just uses the normal OsRdCh (#FE94)

I'll check that after supper.

User avatar
hoglet
Posts: 7600
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Atom software archive menu proggie....

Post by hoglet » Sun Aug 26, 2018 6:53 pm

Actually, only the chapter selection uses JSR OsRdCh.

The text part of the menu uses JSR Inkey, where Inkey is:

Code: Select all

.Inkey
	JSR $FE71
	BCC Inkey1
	LDY #$ff
.Inkey1
	STY Key
	RTS
It also uses direct access to B001 and B002 for Up (Ctrl) Down (Shift) and Rept. Do these not work either?

I wonder if JSR $FE71 is not returning with C=0 when a key is pressed.

What hardware does your STM32 emulated Atom run on?

What 6502 implementation does it use?

Dave

P.S. The MENU.ASM program is a rather literal translation of this Atom basic program:
https://github.com/hoglet67/AtomSoftwar ... u/menu.bas
Last edited by hoglet on Sun Aug 26, 2018 7:01 pm, edited 3 times in total.

Prime
Posts: 2579
Joined: Sun May 31, 2009 11:52 pm
Contact:

Re: Atom software archive menu proggie....

Post by Prime » Sun Aug 26, 2018 7:04 pm

hoglet wrote:
Sun Aug 26, 2018 6:53 pm
Actually, only the chapter selection uses JSR OsRdCh.

The text part of the menu uses JSR Inkey, where Inkey is:
It also uses direct access to B001 and B002 for Up (Ctrl) Down (Shift) and Rept. Do these not work either?
Right thanks for that will have a look.
What hardware does your STM32 emulated Atom run on?
It's basically a Nucleo64 board but I replaced the STMF103, with an F105, as it has the same pinout, but more RAM (64K instead of 20K), and does USB OTG which I wanted to play with....AtomUSB anyone?

Display is an ILI9341 320x240, though obviously for the Atom I'm only using part of the screen, keyboard is a PS/2 with my AVR code ported to the STM32, really only had to port the bit twiddling and PS/2 clock int code.

The STM runs at 72MHz, and the emulation runs at abot 2/3 - 3/4 of a real Atom, was really only done as a tinkering project.....I figure maybe with one of the STM32F4xx chips it could go > 100% as they can be clocked faster :)
P.S. The MENU.ASM program is a rather literal translation of this Atom basic program:
https://github.com/hoglet67/AtomSoftwar ... u/menu.bas
Cheers.

That should help.

Phill.

Prime
Posts: 2579
Joined: Sun May 31, 2009 11:52 pm
Contact:

Re: Atom software archive menu proggie....

Post by Prime » Tue Aug 28, 2018 9:50 am

Right found it!

The bug that was preventing it from working.....note to self, REPT is 8255 port c bit 6 not bit 0, so it thought the REPT key was constantly pressed....was stopping the AtoMMC CAT command working too....

Now on to the next bug why it won't load the selected program :) keeps just reporting "NOT FOUND" prolly an AtomMMC emulation problem.....

Humm seems to be trying to load files that are not in the archive e.g. MNUB/301 for "6502 BCD tests".

edit.......

Aha, the fake6502.c that I'm using seems to have a bug in it's handling of the D flag & ADC/SBC, which is causing the wrong numbers as the menu uses decimal mode to calculate them...best see if I can fix that. At least I worked out where the BCDTEST program is on the card, so I can directly *CWD into that folder and run the tests to check the fix!
Cheers.

Phill.
Last edited by Prime on Wed Aug 29, 2018 10:44 am, edited 2 times in total.

Post Reply