Re: [Simh] IS there a BASIC available for DG Nova ?

2019-06-27 Thread Peter Onion
On Thu, 2019-06-27 at 00:40 -0600, Bruce Ray wrote:
> Note that an on-line Nova emulator is available at:
> 
> http://www.novasareforever.org/novajs/index.php
> 

Thanks Bruce,

I'll pass that on :-)

PeterO






___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] IS there a BASIC available for DG Nova ?

2019-06-27 Thread Peter Onion
(Long time lurker here !)

A friend of mine has just building a paper tape reader to read some only tapes 
has has
from his college days in the 1980s.

He says "The machine at college was a Data General Nova and we only had access 
to BASIC!"
so I thought I would ask here if there is anything that might be able to run 
his old
programs again.

Once he's read a tape I'll post a sample here.

PeterO


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Sounds

2017-02-20 Thread Peter Onion
On Mon, 2017-02-20 at 23:54 +0100, Lars Brinkhoff wrote:
> Peter Onion wrote:
> > For some machine emulations the production of correct sound is an
> > integral part of the user experience !
> >
> > https://www.youtube.com/watch?v=WLEFUA11hgs
> > https://www.youtube.com/watch?v=AIxZ1i8pvZI
> > https://www.youtube.com/watch?v=3zezUiJ8NI8
> 
> Yes!  Yes!
> 
> I implore everyone to watch these videos.  The last one is great!

Now that I have retired I hope to find some time to continue working on
that 3D OpenGLES code :-)  It's not been touched for too long !

PeterO



___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Sounds

2017-02-20 Thread Peter Onion
On Mon, 2017-02-20 at 21:34 +0100, Johnny Billquist wrote:
> Hi.
> 
> On 2017-02-20 21:12, Lars Brinkhoff wrote:
> > Johnny Billquist wrote:
> >> Not sure how meaningful sound is. In general, I would not be able to
> >> tell one computer from another.
> >
> > We may not miss those sounds now, but I figure it could be a bit like
> > other historical items.  Things were considered unimportant and thrown
> > away, but now we miss some of those dearly.
> 
> Maybe I'm "spoiled" by the fact that I've spent literally years in 
> computer halls...

For some machine emulations the production of correct sound is an
integral part of the user experience !

https://www.youtube.com/watch?v=WLEFUA11hgs
https://www.youtube.com/watch?v=AIxZ1i8pvZI
https://www.youtube.com/watch?v=3zezUiJ8NI8


PeterO


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] Custom PC formatting

2013-10-06 Thread Peter Onion
I'm just having a look at porting an existing emulation into the simh
framework.

My first problem is that there seems to be no way to provide a custom
print routine for the value of the PC.  

Why do I need one ?

Because the least significant bit of the Sequence Control Register in my
machine has the value half as there are 2 instructions in each word.

I'm sure I'll have lots more questions soon !

Peter Onion
Elliott 803 Team leader 
The National Museum of Computing



___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Custom PC formatting

2013-10-06 Thread Peter Onion
On Sun, 2013-10-06 at 08:46 -0700, Mark Pizzolato - Info Comm wrote:
 On Sunday, October 06, 2013 at 7:54 AM, Peter Onion wrote:
  I'm just having a look at porting an existing emulation into the simh
  framework.
  
  My first problem is that there seems to be no way to provide a custom
  print routine for the value of the PC.
  
  Why do I need one ?
  
  Because the least significant bit of the Sequence Control Register in my
  machine has the value half as there are 2 instructions in each word.
  
  I'm sure I'll have lots more questions soon !
 
 Hi Peter,
 
 Actually there is a custom way to display the contents of any simh device 
 register.
 
 This is available on the most recent simh codebase on github:  
 https://github.com/simh/simh
 
 In the latest code, registers can have an optional bit field description for 
 the register.  The bitfields can be formatted in a variety of flexible ways.
 
 An example of a register which uses a custom formatting paradigm is the PSL 
 register definition in the VAX CPU module at 
 https://github.com/simh/simh/blob/master/VAX/vax_cpu.c
 
 FYI a zip of the current code base is available at: 
 https://github.com/simh/simh/archive/master.zip
 
 Please come back with more questions as you encounter them.
 

I'll reply to the list this time !

Ok, so I guess this is done via HRDATADF and the psl_bits definition ?

HRDATADF is not mentioned in the docs and from that one example it is
rather hard to see how to use it to do what I need.

I have a 14 bit SCR register and I want to print ((SCR  1)  8191) and
a decimal, and add a + on the end if ((SCR  1) == 1).

I've tried to define my PC using HRDATADF, and it picks up the name
string OK but it isn't doing anything with the bit/field definitions as
far as I can tell, it's still just printing it out a decimal.


Peter Onion
Elliott 803 Team leader 
The National Museum of Computing


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Custom PC formatting

2013-10-06 Thread Peter Onion
On Sun, 2013-10-06 at 09:37 -0700, Mark Pizzolato - Info Comm wrote:
  
  
  I'll reply to the list this time !
  
  Ok, so I guess this is done via HRDATADF and the psl_bits
definition ?
  
  HRDATADF is not mentioned in the docs and from that one example it
is
  rather hard to see how to use it to do what I need.
 
 I believe that these are mentioned in the doc files in the doc
directory at github.com/simh/simh.

I've looked, but I can't find any reference to them. 

  I have a 14 bit SCR register and I want to print ((SCR  1)  8191)
and a
  decimal, and add a + on the end if ((SCR  1) == 1).
  
  I've tried to define my PC using HRDATADF, and it picks up the name
string
  OK but it isn't doing anything with the bit/field definitions as far
as I can tell,
  it's still just printing it out a decimal.
 
 Please provide your code.
 
 I'll take a shot, not knowing precisely what you really want to see:
 
 It seems like this register has two fields.  Lets say it is a 16 bit

14 bits actually...

 register with the high 15 bits the PCValue and the Low Bit this extra
 flag bit you want to see as a + when it is set.  And you'd like to
 see the high 15 bits displayed in octal.

Decimal actually...

 I'd define the low bit as a selector on two strings:
 
 uint16 scr;
 
 char *lowbit_values[] = {, +};
 
 BITFIELD SCR_bits {
 BITFNAM(LOW,1, lowbit_values),
 BITFFMT(PCV,15,%o) ,
 ENDBITS
 };
 
 REG cpu_reg[] = {

 { HRDATADF(SCR,scr, 16, sequence control register,
SCR_bits) },

NULL
 };
 

That's close to the code I had already, but it doesn't affect the way
that the SCR is printed out after the stop message when sim_instr
returns.  When it reaches a dynamic stop in the second instruction in
location 4 it prints

Dynamic Stop, SCR: 0009
when it should print 
Dynamic Stop, SCR: 0004+


Thanks for trying to help :-)

Peter Onion
Elliott 803 Team leader 
The National Museum of Computing



___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Custom PC formatting

2013-10-06 Thread Peter Onion

 No problem, we are now narrowing in on the right question.
 
 To address this issue, your simulator should provide a sim_vm_fprint_addr 
 routine.  This routine has a signature of:
 
 void sim_vm_fprint_addr (FILE *st, DEVICE *dptr, t_addr addr);
 
 The LGP simulator uses this interface.  Look there for details.
 
 - Mark
 

I'll give it a try, but I fear that is not going to be the right answer
because normal addresses (as in the address field in instructions) are
only 13 bits and don't have the half bit at the least significant end.
It is only the SCR that has the extra bit.

The machine has 8K words, but 16K instructions !

Peter Onion
Elliott 803 Team leader 
The National Museum of Computing


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Custom PC formatting

2013-10-06 Thread Peter Onion
On Sun, 2013-10-06 at 11:48 -0700, Mark Pizzolato - Info Comm wrote:
 On Sunday, October 06, 2013 at 10:39 AM, Peter Onion wrote:
   No problem, we are now narrowing in on the right question.
  
   To address this issue, your simulator should provide a
  sim_vm_fprint_addr routine.  This routine has a signature of:
  
   void sim_vm_fprint_addr (FILE *st, DEVICE *dptr, t_addr addr);
  
   The LGP simulator uses this interface.  Look there for details.
  
   - Mark
  
  
  I'll give it a try, but I fear that is not going to be the right answer
  because normal addresses (as in the address field in instructions) are
  only 13 bits and don't have the half bit at the least significant end.
  It is only the SCR that has the extra bit.
  
  The machine has 8K words, but 16K instructions !
 
 If that does not work for reasons you've just described, then there are
 still a couple more approaches:  One alternative might be to leverage
 the SIM_SW_STOP flag switches which your fprint_sym routine will be
 invoked with when the simulator stops execution.
 
 The last alternative would be for your sim_instr routine can handle
 any/all message generation prior to returning to the scp framework and
 set the SCPE_NOMESSAGE bit in the return status.  This will suppress
 scp's message generation for any command which invokes run_cmd (i.e.
 START, RUN, GO, STEP, etc.).  
 
 This may be messier depending on the set of conditions you exit
 sim_instr with.  You may want to copy  parts of run_cmd_message and
 fprintf_stopped_gen from scp.c to implement your message generation.
 
 - Mark
 

Ok, thinks for those ideas Mark.   

Currently I'm having to wrestle with the non-standard integer types that
are defined in sim_defs.h   All my code uses the types defined
in /usr/include/stdint.h   which is consistent with it's naming upto 64
bits, where as the defines in sim_defs.h are not consistent (uint32 but
t_uint64).  And /usr/include/stdbool.h is the way to go for booleans !

Peter Onion
Elliott 803 Team leader 
The National Museum of Computing


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh