mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-12-26 00:31:44 +00:00
Fix LORES80 shifting algorithm
- Previous variant was not properly truncating bit 9
This commit is contained in:
parent
58488ab8e9
commit
b403ee7b6e
@ -672,9 +672,9 @@ static inline uint8_t __shift_block80(uint8_t b) {
|
||||
uint8_t b1 = (b & 0xF0) >> 4;
|
||||
uint8_t rot0 = ((b0 & 0x8) >> 3);
|
||||
uint8_t rot1 = ((b1 & 0x8) >> 3);
|
||||
b0 = (((b0<<5) | (rot0<<4)) >> 4);
|
||||
b1 = ((b1<<5) | (rot1<<4));
|
||||
b = b0 | b1;
|
||||
b0 = ((b0<<5) | (rot0<<4));
|
||||
b1 = ((b1<<5) | (rot1<<4));
|
||||
b = (b0>>4) | b1;
|
||||
return b;
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,7 @@ static bool test_thread_running = false;
|
||||
extern pthread_mutex_t interface_mutex; // TODO FIXME : raw access to CPU mutex because stepping debugger ...
|
||||
|
||||
static void testdisplay_setup(void *arg) {
|
||||
test_setup_boot_disk("testdisplay1.dsk.gz", 1);
|
||||
test_common_setup();
|
||||
apple_ii_64k[0][MIXSWITCH_ADDR] = 0x00;
|
||||
apple_ii_64k[0][WATCHPOINT_ADDR] = 0x00;
|
||||
@ -31,14 +32,6 @@ static void testdisplay_teardown(void *arg) {
|
||||
// ----------------------------------------------------------------------------
|
||||
// Various Display Tests ...
|
||||
|
||||
TEST test_boot_disk() {
|
||||
test_setup_boot_disk("testdisplay1.dsk.gz", 1);
|
||||
|
||||
BOOT_TO_DOS();
|
||||
|
||||
PASS();
|
||||
}
|
||||
|
||||
#if VIDEO_TRACING
|
||||
|
||||
# define EXPECTED_BOOT_VIDEO_TRACE_FILE_SIZE 1484244660
|
||||
@ -48,7 +41,6 @@ TEST test_boot_disk() {
|
||||
// - Longer boot time with CONFORMANT_TRACKS will add more frames of output
|
||||
# if CONFORMANT_TRACKS
|
||||
TEST test_boot_video_trace(void) {
|
||||
test_setup_boot_disk("testdisplay1.dsk.gz", 1);
|
||||
|
||||
srandom(0);
|
||||
const char *homedir = HOMEDIR;
|
||||
@ -96,7 +88,6 @@ TEST test_boot_video_trace(void) {
|
||||
# define EXPECTED_TRACE_40COL_FILE_SIZ 698230
|
||||
# define EXPECTED_TRACE_40COL_FILE_SHA "03dd130fa58c068d2434cf7fa244f64ec058290b"
|
||||
TEST test_video_trace_40col(void) {
|
||||
test_setup_boot_disk("testdisplay1.dsk.gz", 1);
|
||||
|
||||
BOOT_TO_DOS();
|
||||
|
||||
@ -498,7 +489,7 @@ TEST test_80col_lores() {
|
||||
c_debugger_go();
|
||||
|
||||
ASSERT(apple_ii_64k[0][WATCHPOINT_ADDR] == TEST_FINISHED);
|
||||
ASSERT_SHA("02257E25170D8E28F607C033B9D623F55641C7BA");
|
||||
ASSERT_SHA("5BFF6721FB90B3A6AF88D9021A013C007C4AF23A");
|
||||
|
||||
PASS();
|
||||
}
|
||||
@ -542,8 +533,6 @@ GREATEST_SUITE(test_suite_display) {
|
||||
RUN_TESTp(test_video_trace_liltexwin);
|
||||
#endif
|
||||
|
||||
RUN_TESTp(test_boot_disk);
|
||||
|
||||
// text modes
|
||||
RUN_TESTp(test_40col_normal);
|
||||
test_do_reboot = false;
|
||||
|
Loading…
Reference in New Issue
Block a user