6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 7:49 pm

All times are UTC




Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Fri Dec 24, 2010 2:29 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Perhaps this should be in the retro section - does anyone remember this software from the early 80s for the Apple II and later the C64 which modelled a 6502 including some hidden state (in a relatively realistic way, but not precisely like the real thing)?

Image

Screenshot and download

Mention in AAL

Manual (pdf) includes lots of info about 6502 programming and the workings of this program. The manual says it is copyright by Software Masters, which might have included George C. Cowsar and/or Charles Anderson.

There's a book by the same name - not sure if it's related (and more books and perhaps software for some other processors of the day.)

Edit: fix link rot


Last edited by BigEd on Sat Oct 16, 2021 1:25 pm, edited 2 times in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Nov 19, 2011 4:37 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Looking into ways to respond to this unanswered question, I spun this up(*) in KEGS, which is a IIgs emulator.

As a teaching tool and document, I think it's well done. It takes things slowly: by page 40 you're stepping through
Code:
  LDA #$33

in the individual actions of
Code:
Fetch: PC -> AD
           Read
           DL -> IR
LDR Immed: INC PC
                     PC -> AD
                     Read
                     DL -> A
                     Cond Flags
                     INC PC

but it does start off at a gentle pace - the opposite of Ron's Assembly in One Step which doesn't slow down to explain the reasons for registers or memory. Also, there's the obligatory chapter on hex. So page 40 isn't so far in.

(Those individual actions are not, in reality, sequential. As groups of actions they don't correspond to clock cycles. But the educational value is there: I'm sure seasoned educators know when they need to be technically 'wrong' in order to get the lesson 'right')

It's unfortunate, in this case, that the KEGS emulation is so accurate that the hi-res graphics have the green and magenta pixels faithfully reproduced - it doesn't help the clarity.

Image

(*) At one point, I ran up the 32-bit windows executable in WINE on my 64-bit linux. That's 2 emulation layers(**), with both the intel and 65816 processors working in backwards compatible modes. In fact ... this is a BASIC program, which means there's an interpreter too.

(**) Not 3, because WINE is not emulating program code, only OS calls.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Nov 23, 2011 3:18 am 
Offline
User avatar

Joined: Thu Mar 11, 2004 7:42 am
Posts: 362
BigEd wrote:
It's unfortunate, in this case, that the KEGS emulation is so accurate that the hi-res graphics have the green and magenta pixels faithfully reproduced - it doesn't help the clarity.


On an actual IIgs there's a way to make hi-res graphics monochrome. I don't remember exactly how you do it (nor do I have a IIgs accessible at the moment to experiment), but you could try this (all writes are in 8-bit mode):

LDA #$20
TSB $C029

(You can undo that with TRB). You may need to do this too (I seem to recall this being a two step process):

STZ $C05E

(It does not matter what value you write. Use STZ $C05F to undo.)

A quick look at the IIgs softswitches (i.e. I/O locations) suggests this:

LDA #$80
TSB $C021

...but that doesn't look right/familiar to me. Anyway, you could try various combinations and see what happens.

This was a little-known/little-used feature, so an emulator may or may not support it.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Nov 23, 2011 8:50 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Ah, top tip!

It seems that KEGS does know about that. I have no way to poke any locations or any easy way to take control, since this program runs from a boot disk. But it turns out that kegs can be invoked in '-bw' mode which does the trick:

Image

Much more readable!

I was considering trying to take a memory dump from KEGS and seeing if I could feed it into this javascript apple2 emulator, but I can stop thinking about that now!

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Re:
PostPosted: Mon Jul 02, 2012 4:35 am 
Offline
User avatar

Joined: Thu Mar 11, 2004 7:42 am
Posts: 362
dclxvi wrote:
On an actual IIgs there's a way to make hi-res graphics monochrome.


For anyone interested, I dug out my July 1985 issue of Call-A.P.P.L.E. (same issue as Bob Bishop's mandelbrot routines) which has an article titled Mono Hi-Res (you can see this on the magazine cover with the mandelbrot picture on Bob's site) describing this technique. The article claims three things are necessary:

  • The Control Panel Display setting must be 40 columns
  • The Control Panel Display setting must be Monochrome
  • POKE 42496,0 (same as STZ $C05E mentioned above)

I tried this on an actual IIgs and the 40 columns setting does not appear to be necessary (changing the setting to 80 columns worked for me). I did some experimenting of my own on the IIgs and the following worked for me:

Code:
LDA #$20
TSB $C029
STZ $C05E


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 03, 2016 8:30 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
I see you can now run The Visible Computer in your browser (but without the monochrome fix, so with colour fringing.)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 77 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: