From 32ecae05798a4db6bc13df0d989fa8105c840ebe Mon Sep 17 00:00:00 2001 From: skrll Date: Thu, 1 Jun 2000 20:47:00 +0000 Subject: Add a man page, improve MESSAGE file handling and other clean up. --- emulators/xbeeb/Makefile | 22 ++-- emulators/xbeeb/pkg/MESSAGE | 0 emulators/xbeeb/pkg/MESSAGE.post | 27 +++++ emulators/xbeeb/pkg/PLIST | 3 +- emulators/xbeeb/pkg/xbeeb.1 | 210 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 254 insertions(+), 8 deletions(-) delete mode 100644 emulators/xbeeb/pkg/MESSAGE create mode 100644 emulators/xbeeb/pkg/MESSAGE.post create mode 100644 emulators/xbeeb/pkg/xbeeb.1 (limited to 'emulators/xbeeb') diff --git a/emulators/xbeeb/Makefile b/emulators/xbeeb/Makefile index 511ec8f2868..ae6f4c314ab 100644 --- a/emulators/xbeeb/Makefile +++ b/emulators/xbeeb/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2000/06/01 18:20:54 skrll Exp $ +# $NetBSD: Makefile,v 1.3 2000/06/01 20:47:00 skrll Exp $ # DISTNAME= xbeeb-0.3.6 @@ -11,7 +11,9 @@ HOMEPAGE= http://www.netcomuk.co.uk/~james/BBCMicro/Xbeeb/index.html USE_IMAKE= yes WRKSRC= ${WRKDIR}/xbeeb -PLIST_SRC= ${WRKDIR}/PLIST_DYNAMIC +PLIST_SRC= ${WRKDIR}/PLIST +MESSAGE_FILE= ${WRKDIR}/MESSAGE +MAN_PAGE= ${WRKDIR}/xbeeb.1 XBEEBROOT= share/xbeeb @@ -24,6 +26,9 @@ post-patch: ${MV} Config.h Config.h.dist && \ ${SED} 's+^\(#define[ ]*XBEEBROOT[ ]*\)[^ ].*$$+\1"${PREFIX}/${XBEEBROOT}/"+' Config.h.dist > Config.h) ${SED} 's+#XBEEBROOT#+${XBEEBROOT}+g' ${PKGDIR}/PLIST > ${PLIST_SRC} + ${SED} -e 's+@XBEEBROOT@+${XBEEBROOT}+g' \ + -e 's+@PREFIX@+${PREFIX}+g' \ + ${PKGDIR}/xbeeb.1 > ${MAN_PAGE} do-build: (cd ${WRKSRC}/src && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} xbeeb) @@ -33,22 +38,27 @@ do-build: bdftopcf $$i -o `basename $$i .bdf`.pcf ; \ done) ${ECHO} > ${MESSAGE_FILE} "You must copy the BBC \"BASIC2\" ROM image to" - ${ECHO} >> ${MESSAGE_FILE} "\"${PREFIX}/${XBEEBROOT}/roms/BASIC2.rom\"" + ${ECHO} >> ${MESSAGE_FILE} "" + ${ECHO} >> ${MESSAGE_FILE} " ${PREFIX}/${XBEEBROOT}/roms/BASIC2.rom" + ${ECHO} >> ${MESSAGE_FILE} "" ${ECHO} >> ${MESSAGE_FILE} "and the BBC \"OS1.2\" ROM image to" - ${ECHO} >> ${MESSAGE_FILE} "\"${PREFIX}/${XBEEBROOT}/roms/OS1.2.rom\"." + ${ECHO} >> ${MESSAGE_FILE} "" + ${ECHO} >> ${MESSAGE_FILE} " ${PREFIX}/${XBEEBROOT}/roms/OS1.2.rom" + ${ECHO} >> ${MESSAGE_FILE} "" + ${SED} -e 's#@PREFIX@#${PREFIX}#g' <${PKGDIR}/MESSAGE.post >>${MESSAGE_FILE} do-install: ${INSTALL_PROGRAM} ${WRKSRC}/src/xbeeb ${PREFIX}/bin/xbeeb + ${INSTALL_MAN} ${MAN_PAGE} ${PREFIX}/man/man1/xbeeb.1 ${MKDIR} ${PREFIX}/${XBEEBROOT} ${MKDIR} ${PREFIX}/${XBEEBROOT}/roms ${MKDIR} ${PREFIX}/${XBEEBROOT}/docs + ${MKDIR} ${PREFIX}/lib/X11/fonts/xbeeb ${INSTALL_DATA} ${WRKSRC}/roms/xdfs0.70.rom ${PREFIX}/${XBEEBROOT}/roms/xdfs0.70.rom for docfile in ${WRKSRC}/doc/*; do \ ${INSTALL_DATA} $$docfile ${PREFIX}/${XBEEBROOT}/docs; \ done - ${MKDIR} ${PREFIX}/lib/X11/fonts/xbeeb ${CP} ${WRKSRC}/fonts/*.pcf ${PREFIX}/lib/X11/fonts/xbeeb - ${TOUCH} ${PREFIX}/lib/X11/fonts/xbeeb/fonts.alias mkfontdir ${PREFIX}/lib/X11/fonts/xbeeb .include "../../mk/bsd.pkg.mk" diff --git a/emulators/xbeeb/pkg/MESSAGE b/emulators/xbeeb/pkg/MESSAGE deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/emulators/xbeeb/pkg/MESSAGE.post b/emulators/xbeeb/pkg/MESSAGE.post new file mode 100644 index 00000000000..432b5b0a01c --- /dev/null +++ b/emulators/xbeeb/pkg/MESSAGE.post @@ -0,0 +1,27 @@ +You also need to ensure that your X session can access the fonts +needed. This can be done with: + + $ xset fp+ @PREFIX@/lib/X11/fonts/xbeeb + +To make the effect permanent for future X sessions, you can do this by +editing certain files in your X installation. + +For example if you are only using the "startx" command to start a local +X session then you would add the above command to your ~/.xinitrc +script. + +If you're running a local X server from xdm then you would need to set +the complete set of font directories in the xdm/Xservers file with the +'-fp' option common to all X servers. + +If you are using the X font server (xfs) then you would add the +intlfonts install directory to the xfs/config file in the comma +separated list of directories given for the "catalogue" setting. +For example: + + catalogue = @PREFIX@/lib/X11/fonts/misc/, + @PREFIX@/lib/X11/fonts/Speedo/, + @PREFIX@/lib/X11/fonts/Type1/, + @PREFIX@/lib/X11/fonts/100dpi/, + @PREFIX@/lib/X11/fonts/75dpi/, + @PREFIX@/lib/X11/fonts/xbeeb/ diff --git a/emulators/xbeeb/pkg/PLIST b/emulators/xbeeb/pkg/PLIST index 0f3c6fc7e79..9e97326ccf4 100644 --- a/emulators/xbeeb/pkg/PLIST +++ b/emulators/xbeeb/pkg/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.1.1.1 2000/05/22 22:13:11 skrll Exp $ +@comment $NetBSD: PLIST,v 1.2 2000/06/01 20:47:02 skrll Exp $ bin/xbeeb lib/X11/fonts/xbeeb/ttext-grc-ldh.pcf lib/X11/fonts/xbeeb/ttext-std-udh.pcf @@ -9,7 +9,6 @@ lib/X11/fonts/xbeeb/ttext-grs-ldh.pcf lib/X11/fonts/xbeeb/ttext-grc.pcf lib/X11/fonts/xbeeb/ttext-grc-udh.pcf lib/X11/fonts/xbeeb/ttext-std.pcf -lib/X11/fonts/xbeeb/fonts.alias lib/X11/fonts/xbeeb/fonts.dir #XBEEBROOT#/roms/xdfs0.70.rom #XBEEBROOT#/docs/64doc diff --git a/emulators/xbeeb/pkg/xbeeb.1 b/emulators/xbeeb/pkg/xbeeb.1 new file mode 100644 index 00000000000..d7f9141829c --- /dev/null +++ b/emulators/xbeeb/pkg/xbeeb.1 @@ -0,0 +1,210 @@ +.\" $NetBSD: xbeeb.1,v 1.1 2000/06/01 20:47:03 skrll Exp $ +.\" +.Dd May 27, 2000 +.Dt XBEEB 1 +.Sh NAME +.Nm xbeeb +.Nd Acorn BBC Micro emulator with X interface +.Sh SYNOPSIS +.Nm +.Op Fl ahV? +.Op Fl o Ar file +.Oo +.Fl p Ns Op Ns Ar number +.Ar file +.Oc +.Op Fl w Ar number +.Op Fl s Ar number +.Op Fl m Ar mode +.Op Fl d Ar dir +.Op Ar file +.Sh DESCRIPTION +The +.Nm +program is an X11 based emulator of the Acorn BBC +(British Broadcasting Corporation) Micro. The BBC Micro +was first produced in the early 1980s by Acorn Computers +of Cambridge. +.Pp +The BBC Micro was based on the 6502 processor with a 16k +operating system ROM, upto 32k RAM and 15 paged 16k ROMs for +utilities. +.Ss Options +The options are as follows: +.Bl -tag -width Ds +.It Fl ? +Display usage information. +.It Fl a +Emulate the Model A only - if available. +.It Fl d Ar dir +Use +.Ar dir +as the directory for disk emulation. +.It Fl h +Display usage information. +.It Fl m Ar mode +Start in display mode +.Ar mode . +.It Fl o Ar file +Load the +.Ar file +as the Operating System image, i.e. at address 0xc000. +.It Xo +.Fl p Ns Op Ns Ar number +.Ar file +.Xc +Load the ROM image specified by +.Ar file +into the paged ROM location specified by +.Ar number . +If +.Ar number +is not specified the image is loaded into ROM number 15. +.It Fl s Ar number +Set the DIP switches to +.Ar number , +where +.Ar number +can be specified in octal, decimal or hex. Only the 5 +least significant bits of +.Ar number +are used by the emulator. +.It Fl V +Display the version information. +.It Fl w Ar number +Set the paged ROM slot specified by +.Ar number +as writable. +.It Ar file +Load the snapshot +.Ar file +as the start point of the emulator. +.El +.Ss Implementation +All of the instruction set of a standard 6502 CPU, +Illegal or undocumented opcodes on the NMOS 6502 +and changes for the CMOS R65C02 and R65C12 are implemented. +.Pp +The 6522 VIA implementation is almost complete. The +emulation of the system VIA is sufficient to provide clock +interrupts and keyboard handling for the OS. +.Pp +The CRTC, Serial ULA and display implementation is +complete enough to provide a reasonable emulation of the +display. X11 fonts for all the teletext characters are +provided. +.Ss Keyboard +The keyboard handling is pretty much there, but not +quite perfect as the Beeb has a somewhat non-standard +keyboard layout compared with most available today. +.Pp +There are a number of keys on the BBC Micro that do not +work in the same way as a standard PC keyboard. As the +keycodes depend on your X setting experimentation is +probably the best way to understanding the mapping. Some +important keys should be as follows: +.Pp +.Bl -bullet -compact +.It +Pause is the BREAK key +.It +Right Alt is the SHIFT LOCK key +.It +F10 is the F0 key +.It +End quits the emulator +.It +Home creates a snapshot +.It +Enter on the keypad changes the directory used for the +emulated file system +.El +.Ss Snapshots +There is a snapshot format for saving the complete +machine state. +.Ss Disk Emulation +The emulated disk system requires a directory containing a +set of files present on a given disk, exactly as they +would appear on a BBC disk. In addition there is a file +called +.Qq __CATALOG__ +which contains the name, load and +execution address, length and sector number for each file +as it would be displayed by *INFO +.Pp +The sectory number is unused in this emulation - it's +there for the sake of completeness and maybe used in the +future. + +.Sh FILES +.Bl -tag -width @PREFIX@/@XBEEBROOT@/roms/xdfs0.70.rom -compact +.It Pa @PREFIX@/@XBEEBROOT@/roms/OS1.2.rom +the Operating System rom image +.It Pa @PREFIX@/@XBEEBROOT@/roms/BASIC2.rom +the BBC Basic rom image +.It Pa @PREFIX@/@XBEEBROOT@/roms/xdfs0.70.rom +the XDFS rom image required for disc emulation +.El +.Sh BUGS +The following are known bugs: +.Bl -bullet +.It +Serial IO, the ADC, Econet, the FRED and JIM +memory-mapped IO pages, the Tube and User VIA are pretty +much all ignored. +.It +The mark/space ratio for flashing teletext is a guess. +I haven't a clue what it really is. +.It +The emulator possibly only works on pseudo-colour X +displays. It is untested on any others. +.It +The MODE 7 screen emulation flickers because it updates +the whole screen when it changes, rather than just the +changed bits. The reason it works this way is +because of the handling of double height characters - +the context of each line may change because of a change in +the line above it. +.It +The code for re-initialising the screen when a snapshot +has been loaded is quite horrid and is probably the +source of a number of bugs. It needs more thought and +work. +.It +There are numerous places where it is unknown how the +emulator should handle a given situation. These are +usually documented in the code, but will cause a fatal +error if encountered. +.It +The cursor isn't implemented for bitmapped modes. +.It +Handling of mixed case in filenames is incomplete. If a +filename is mixed case on the disk, it's exact name must +be used in any command for loading or running it. +.It +Although you won't hear anything, the emulator still +does all that's necessary from the programming point of +view to make sounds even if you don't have sound support. +This means that there will be delays in programs that play +sounds before they continue. The emulator hasn't crashed, +honest. +.It +Handling of hardware-scrolled screens isn't perfect. In +the efs-demo and xdfs-demo directories there's a program +called B.DEMO that will usually demonstrate the problem. +.It +Changing the Horizontal Sync. register in the +CRTC isn't implemented but is required for some games. +.It +The counter in Hopper is screwy. I did have this +working at once stage, but I've broken it again. +.It +The screen window overlaps the window with the LED +status in sometimes. +.El +.Sh WEB Resources +The best site for information about BBC Micro is +.B http://...no/ +.Sh AUTHORS +This program was written by James Fidell. This man page was +put together by Nick Hudson (nick@nthcliff.demon.co.uk) -- cgit v1.2.3