<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Fri, 24 Feb 2017 21:55:17 +0000
From   : julian_stenning@... (Julian Stenning)
Subject: Emulation

Hi,


Picking this up again after parking it up for a while and I felt I was going
round in circles somewhat.


I now have something that will boot & display the usual messages on screen
and displays a '>' prompt.


I think I have keyboard input working, wow that was a task. I generate an 
CA2 interrupt on IFR bit 0 when a key is pressed and generate the relevant
row & column 'hits' at the right place. I see a value being placed in &EC,
and this is set back to zero after the next T1 interrupt.


Unit I get a array of row/column-to-keys sorted, I'm fudging the keyboard
input to always be an 'A' key, so I see C1 written to &EC (actually it's
hex 41, and I'm adding the bit 7 in as a workaround, something to look at later).


My question now is what part of the OS picks up that this keyboard input 
has to be written to the VDU? To get the boot messages to appear I have 
some simple code that outputs the ascii character to the console when I 
see the program counter is entering OSWRCH @ &C4C0 (If I use &FFEE the boot
messages appear but no '>' prompt). As powershell is a console affair I'm
not sure I'll b able to do anything more snazzy than this.


Thanks,

Julian.

________________________________
From: Julian Stenning <julian_stenning@...>
Sent: 04 April 2016 10:32
To: bbc-micro@...
Subject: Re: [BBC-Micro] Emulation

Thanks for the replies everyone,  i've just sat down and read it through
a few times, plus the AUG section and now understand.

I'm away from home for the next few days, hopefully I'll not forget it before
I get back.

Regards,
Julian.


Sent from my Samsung device


From: Peter Coghlan <bbcmicro@...>
Date: 02/04/2016 10:36 (GMT+00:00)
To: bbc-micro@...
Subject: Re: [BBC-Micro] Emulation

>
> I'm not sure what &FE4E is used for.
> I just remember an old trick that ?&FE4E = &7F would lock the keyboard and
> cause a memory reset on pressing break.
> From your description at &DA82, you describe some parts of &FE4E, but not
> the clear memory part - maybe that is one of the bits you haven't described?
>

&FE4E is the interrupt enable register of the system VIA.

After a reset, code in the OS checks &FE4E to see if it has already been set up.
If it appears not to have been already set up, the OS decides that this is a
power on reset rather than a reset due to pressing break and it clears (most)
memory so that it doesn't end up containing random garbage.  If &FE4E has
already been set up (the reset pin on the system VIA is only activated at power
on, not when break is pressed), the OS assumes that break has just been pressed
rather than a power on has happened and memory should not be cleared.

?&FE4E = &7F and pressing break fools the OS reset code into thinking the
system VIA has been reset so the OS performs extra initialisation tasks which
would be appropriate immediately after power on.

Regards,
Peter Coghlan.

_______________________________________________
bbc-micro mailing list
bbc-micro@...
http://lists.cloud9.co.uk/mailman/listinfo/bbc-micro
bbc-micro Info Page - lists.cloud9.co.uk<http://lists.cloud9.co.uk/mailman/listinfo/bbc-micro>
lists.cloud9.co.uk
Your email address: Your name (optional): You may enter a privacy password
below. This provides only mild security, but should prevent others from messing
with ...



<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>