Latest version of BeebEm
Re: Latest version of BeebEm
I'm still running BeebEm 0.0.13, because that was the only thing I could persuade to build on Linux. Is there anything newer out there?
Re: Latest version of BeebEm
I don't know, my own focus is on the Windows version, although I sometimes wonder how feasible it would be to port it to Linux.
Atom / BBC B with Music 5000/4000/2000 / Electron / A3000 / Master 128
Re: Latest version of BeebEm
Hi,
While I like to compile all Linux software from source, the Windows verdion of BeebEm runs perfectly under Wine.
While I like to compile all Linux software from source, the Windows verdion of BeebEm runs perfectly under Wine.
Regards,
Derek
Derek
Re: Latest version of BeebEm
BeebEm 4.19 for Windows is now available at https://github.com/stardot/beebem-windo ... s/tag/4.19
Here are the main changes in this version:
Here are the main changes in this version:
- Fixed NMOS 6502 instructions 6B (ARR imm) and EB (SBC imm).
- Fixed timings for instructions 83 (SAX (zp,X)), 8F (SAX abs), B3 (LAX (zp),Y), and BB (LAS abs,Y).
- Fixed 65C12 instruction timings for ADC and SBC in decimal mode, ASL, LSR, ROL, ROR, and BRA.
- Added keyboard shortcuts for changing text-to-speech reading rate. Enable text output reader by default when text-to-speech is enabled.
- Fixed crash in the debugger, where sideways RAM does not contain a normal ROM image.
- Fixed Econet source code cross-compatibility issue.
- Serial and tape emulation improvements:
- Fixed serial transmit state: Writing a master reset to the ACIA control register should stop transmitting data. This was causing extra bytes to be written to UEF files when saving to tape.
- The Tape Control dialog Record button now always prompts the user to create a new UEF file, rather than appending to the currently open UEF file. This change also fixes a bug where the button would do nothing if a CSW file was loaded.
- Opening the Tape Control dialog no longer causes Block? or Data? errors during loading.
- The BeebEm version number is now stored in UEF tape files.
- Fixed Master real time clock year handling. The year is stored as the last two digits. Removed the "Master 128 RTC Y2K Adjust" option. Note that the Master MOS still displays years as 19xx, but will accept any century when setting the time using `TIME$`.
- Added debugger support for the BBC Master real-time clock and CMOS RAM.
- Added a new Music 5000 disk image (M5000-4.ssd) that uses a different copy protection patch, to fix the staff editor.
- Added ZipFile project, to create BeebEm.zip distribution. The project runs a Perl script, so requires a working Perl installation.
- The Write Protect On Load menu option is now also applied to files loaded from the command line.
- Improved the Disc Export dialog, which now detects and avoids using file names that are not valid on the host filesystem. The dialog box allows you to double-click an entry to rename files.
- The BeebEm window on Windows 11 is now drawn with rounded corners disabled.
Atom / BBC B with Music 5000/4000/2000 / Electron / A3000 / Master 128
Re: Latest version of BeebEm
thanks!
- flaxcottage
- Posts: 5718
- Joined: Thu Dec 13, 2012 8:46 pm
- Location: Derbyshire
- Contact:
Re: Latest version of BeebEm
Just upgraded to 4.18 yesterday, so for me a very quick upgrade.
One query, though ... Is HFE support going to be added in the future?
One query, though ... Is HFE support going to be added in the future?
Re: Latest version of BeebEm
I would like to add this, yes, but I don't have any immediate plans, I'm currently looking at the serial port and tape emulation. With limited time to work on it, it's too easy for me to lose track of where I'm up to if there's any complexityflaxcottage wrote: ↑Mon May 01, 2023 7:44 pm One query, though ... Is HFE support going to be added in the future?
Atom / BBC B with Music 5000/4000/2000 / Electron / A3000 / Master 128
- Diminished
- Posts: 1235
- Joined: Fri Dec 08, 2017 9:47 pm
- Contact:
Re: Latest version of BeebEm
Exhuming this year-old post, I have recently been trying to implement saving-to-tape in B-Em. (This has rapidly devolved into a complete mess.)hoglet wrote: ↑Thu Jun 23, 2022 3:06 pmLooking at a disassembly of OS 0.10, the code after the CRC is different:andCode: Select all
JSR .saveChecksumToTape ; save checksum to TAPE .saveFinalTwoBytes JSR .saveByteAToTapeInternal ; INC .fsGotACharacterToReadOrWriteFlag ; JSR .saveByteAToTapeInternal ; JSR .resetACIA ;
So I think the behavoiur of this is well worth someone investigating.Code: Select all
; *************************************************************************************** .saveByteAToTapeInternal LDA #12 ; STA .verticalSyncCounter ; set to 12 vsyncs - BIT .fsGotACharacterToReadOrWriteFlag ; BMI + ; if (byte written) then branch BIT .verticalSyncCounter ; check vertical sync counter BPL - ; if (not timeout) then branch (loop back) JSR .checkForEscapeDuringCassetteOperation ; BMI .saveByteAToTapeInternal ; + ; byte is now read / written PHP ; store flags LDA #0 ; A=0 STA .fsGotACharacterToReadOrWriteFlag ; clear flag, we no longer have a byte PLP ; recall flags RTS
Dave
However, the code is good enough to enable adjusting the pipelining of the ACIA transmission such that the master reset cancels the two bytes of duplicated CRC with MOS 1.2 (as it does on hardware). With this configuration, you can then switch B-Em to MOS 0.1 and try saving to tape, whereupon you do indeed get a single byte of duplicated CRC as was observed in 6% of the UEF files on Stairway.
In light of this (and other evidence), I am now completely confident that the occurrence of a single duplicated CRC byte in a minority of real-world Beeb tapes is a consequence of the use of MOS 0.1 to save those tapes.
This is actually rather cool IMO, as it makes it possible to identify which commercial tapes were saved using MOS 0.1 (I am not sure if there was a way of determining this previously). It may also provide a hint as to which titles are compatible with 0.1.
Re: Latest version of BeebEm
That's interesting, I always wondered how some tapes had a duplicate CRC byte and other did not.
Regards Peter.