Changes in / [56746cf:3231e25] in buchla-emu
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
emu/fdd.c
r56746cf r3231e25 44 44 #define COM_WR_SEC 0xa2 45 45 #define COM_INT 0xd0 46 #define COM_WR_TRA_WP 0xf0 47 #define COM_WR_TRA 0xf2 46 #define COM_WR_TRA 0xf0 48 47 49 48 #define COM_LAT_CYC 5 … … 99 98 return "COM_WR_SEC"; 100 99 101 case COM_WR_TRA_WP:102 return "COM_WR_TRA_WP";103 104 100 case COM_WR_TRA: 105 101 return "COM_WR_TRA"; … … 144 140 { 145 141 ver("fdd init"); 146 inf(" reading disk image file %s", disk);142 inf("loading disk image file %s", disk); 147 143 148 144 SDL_RWops *ops = SDL_RWFromFile(disk, "rb"); 149 145 150 146 if (ops == NULL) { 151 fail("error while opening disk image file %s for reading", disk);147 fail("error while opening disk image file %s", disk); 152 148 } 153 149 … … 170 166 { 171 167 ver("fdd quit"); 172 inf("writing disk image file %s", disk);173 174 SDL_RWops *ops = SDL_RWFromFile(disk, "wb");175 176 if (ops == NULL) {177 fail("error while opening disk image file %s for writing", disk);178 }179 180 size_t stored = 0;181 182 while (stored < SZ_DISK) {183 size_t n_wr = SDL_RWwrite(ops, image + stored, 1, SZ_DISK - stored);184 185 if (n_wr == 0) {186 fail("error while writing disk image file %s", disk);187 }188 189 stored += n_wr;190 }191 192 SDL_RWclose(ops);193 168 } 194 169 … … 363 338 364 339 case COM_WR_TRA: 365 case COM_WR_TRA_WP:366 340 state.tra_0 = false; 367 341 fail("format not yet supported"); -
emu/lcd.c
r56746cf r3231e25 24 24 int32_t lcd_verbose = 0; 25 25 26 #define WIN_W (1615 / 2)27 #define WIN_H (304 / 2)26 #define WIN_W (1615 * 2 / 3) 27 #define WIN_H (304 * 2 / 3) 28 28 29 29 #define GFX_BGR 0x00000000 -
emu/ser.c
r56746cf r3231e25 24 24 int32_t ser_verbose = 0; 25 25 26 #define WIN_W (1520 / 2)27 #define WIN_H (950 / 2)26 #define WIN_W (1520 * 2 / 3) 27 #define WIN_H (950 * 2 / 3) 28 28 29 29 #define BEL_CYC 10000 30 30 #define MOU_CYC 10000 31 32 #if defined EMU_WIN33 #define MOU_DIV 6434 #elif defined EMU_OS_X35 #define MOU_DIV 136 #else37 #define MOU_DIV 438 #endif39 31 40 32 #define CON_W 80 … … 343 335 mou_dx, mou_dy, mou_l ? 'l' : '-', mou_r ? 'r' : '-'); 344 336 345 int32_t dx = mou_dx / MOU_DIV;346 int32_t dy = mou_dy / MOU_DIV;337 int32_t dx = mou_dx; 338 int32_t dy = mou_dy; 347 339 348 340 if (dx < -128) { -
readme.txt
r56746cf r3231e25 288 288 ----------------- 289 289 290 Here's what we currentlyemulate:290 Here's what we emulate: 291 291 292 292 * Motorola 68000 CPU. This is actually the Musashi CPU emulator by … … 295 295 https://github.com/kstenerud/Musashi 296 296 297 * Motorola MC6840: Timers. 298 299 * Rockwell R65C52: Serial console and MIDI ports. 300 301 * Epson SED1335: LCD controller. 302 297 303 * Intel 82716: Video chip. 298 304 299 * Epson SED1335: LCD controller. 305 * National Semiconductor LMC835: Equalizer. 306 307 * General Instrument AY-3-8910: A sound chip, which is not used for 308 sound generation, but only for its I/O ports. It connects the CPU 309 to the above equalizer chip. 300 310 301 311 * Western Digital WD1772: Floppy disk controller. 302 312 303 * Rockwell R65C52: Serial console and MIDI ports. 304 305 * Motorola MC6840: Timers. 306 307 * Unknown item #1: A program running on a microcontroller. It 308 converts the analog signals from the Buchla's controller pads to 309 digital values. 313 * A few LEDs. 314 315 * Item X: A program running on a microcontroller. It converts the 316 analog signals from the Buchla's controller pads to digital 317 values. 310 318 311 319 Neither the program, nor the microcontroller are known, but the … … 313 321 and self-explanatory. 314 322 315 The next development milestone will hopefully emulate the following 316 additional components: 317 318 * National Semiconductor LMC835: Equalizer. 319 320 * General Instrument AY-3-8910: A sound chip, which is not used for 321 sound generation, but only for its I/O ports. It connects the CPU 322 to the above equalizer chip. 323 324 * A few indicator LEDs. 325 326 * Unknown item #2: The actual sound generator, referred to by the 327 firmware source code as "the FPU." This is the biggest unknown so 328 far. Judging from the firmware source code it consist of two 329 parts: 330 331 1. The function generator that generates the 15 different 323 * Item Y: The actual sound generator, referred to by the firmware 324 source code as "the FPU." This could actually be two chips: 325 326 1. One chip, maybe a DSP, for generating the 15 different 332 327 parameter envelopes for each of the 12 voices: 333 328 … … 344 339 - 1x Output signal stereo location. 345 340 346 - 1x "Dynamics " - whatever that is.347 348 The firmware feeds the the points of the envelopes drawn in349 the MIDAS VII instrument editor to the function generator,350 which then interpolates between them. 351 352 2. The digital oscillator.341 - 1x "Dynamics." (TBD - currently not emulated.) 342 343 Over time, the chip interpolates between the points of the 344 envelopes drawn in the MIDAS VII instrument editor. 345 346 2. A second chip for the actual sound generation. This is likely 347 a DSP. 353 348 354 349 XXX - Details to be filled in. … … 358 353 of the envelopes probably control analog circuits. 359 354 360 This "two FPU parts" hypothesis would be in line with the "four 355 Obviously, the emulator does everything digitally. 356 357 This "two chip" hypothesis would be in line with the "four 361 358 computers" marketing claim from the Buchla 700 marketing copy. The 362 359 four "computers" would be the Motorola 68000, the microcontroller 363 that does the A/D conversion of the pad inputs, plus the two parts360 that does the A/D conversion of the pad inputs, plus the two CPUs 364 361 that constitute "the FPU." 365 366 The firmware source code archive indicates that the FPU is based367 on micro-programmable hardware. We recently ran this by Lynx, the368 developer of the firmware, who generously agreed to meet up with369 us in Oakland, CA. While he did not work on the FPU and thus was370 not familiar with its implementation details, he was able to371 confirm that the FPU is based on AMD's Am2900 family.372 362 373 363 If you have access to an actual Buchla 700, please do contact us. It … … 375 365 376 366 If your Buchla is non-functional, this is also fine. We might be able 377 to gain some insights from reading out the FPU microcode PROMs or from 378 figuring out how the FPU chips are wired together. 367 to gain some insights from reading out the FPU microcode PROMs.
Note:
See TracChangeset
for help on using the changeset viewer.