Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
Compiling SDLmame (0.219) on OSX PPC #117024 03/14/20 01:30 PM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
Well, maybe I am a bit stubborn here but I think to be VERY close to the goal...
What is driving me crazy are the errors in debugosx.mm so instead of trying to fix them (I have not enough knowledge) I would like to skip that part entirely, is it possible?
I mean, when a" Release" executable is produced, is the Debugger part really needed? Is there a clean way (commenting some lines in the scripts or the sources, for example) to exclude it from the build process?
I have also tried with the option NO_DEBUGGER=1 after "make" command but without success, the Debugger part is compiled anyway.

Many thanks in advance...

Last edited by MacBox360; 03/14/20 01:38 PM.
Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117025 03/14/20 03:44 PM
Joined: Mar 2001
Posts: 16,473
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,473
What are the errors? As far as I'm aware nobody's removed ancient OS X compatibility yet, although I plan to because of the sheer number of warnings it's causing on Xcode 11.

Also, did you remember to do REGENIE=1 with NO_DEBUGGER=1?

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117027 03/14/20 04:42 PM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
Compiling with REGENIE=1 and NO_DEBUGGER=1 produces the same effect, the debugger part is not skipped.
This is the error I encounter (GCC 7.5 and SDL 2.0.3)

Code
Objective-C compiling src/osd/modules/debugger/debugosx.mm...
In file included from ../../../../../src/emu/emu.h:104:0,
                 from ../../../../../src/osd/modules/debugger/debugosx.mm:20:
../../../../../src/emu/devcb.h: In lambda function:
../../../../../src/emu/devcb.h:416:53: error: 'cb' was not declared in this scope
    m_builder.build([&result] (auto &&f) { result = [cb = std::move(f)] (address_space &space, offs_t offset, typename T::input_mask_t mem_mask) { return cb(space, offset, mem_mask); }; });
                                                     ^~
../../../../../src/emu/devcb.h: In member function 'virtual devcb_read<Result, DefaultMask>::func_t devcb_read<Result, DefaultMask>::log_creator::create()':
../../../../../src/emu/devcb.h:434:8: error: 'devbase' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, std::make_unsigned_t<Result> mem_mask)
        ^~~~~~~
../../../../../src/emu/devcb.h:434:8: note: suggested alternative: 'm_devbase'
      [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, std::make_unsigned_t<Result> mem_mask)
        ^~~~~~~
        m_devbase
../../../../../src/emu/devcb.h:434:29: error: 'message' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, std::make_unsigned_t<Result> mem_mask)
                             ^~~~~~~
../../../../../src/emu/devcb.h:434:29: note: suggested alternative: 'm_message'
      [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, std::make_unsigned_t<Result> mem_mask)
                             ^~~~~~~
                             m_message
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::transform_builder<Source, Func>::build(T&&)':
../../../../../src/emu/devcb.h:531:21: error: 'c' was not declared in this scope
    auto wrap([this, c = std::forward<T>(chain)] (auto &&f) mutable { this->build(std::move(c), std::move(f)); });
                     ^
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::transform_builder<Source, Func>::build(T&&, U&&)':
../../../../../src/emu/devcb.h:546:7: error: 'src' was not declared in this scope
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
       ^~~
../../../../../src/emu/devcb.h:546:7: note: suggested alternative: 'm_src'
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
       ^~~
       m_src
../../../../../src/emu/devcb.h:546:33: error: 'cb' was not declared in this scope
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                 ^~
../../../../../src/emu/devcb.h:546:33: note: suggested alternative: 'm_cb'
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                 ^~
                                 m_cb
../../../../../src/emu/devcb.h:546:61: error: 'exor' was not declared in this scope
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                                             ^~~~
../../../../../src/emu/devcb.h:546:61: note: suggested alternative: 'exit'
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                                             ^~~~
                                                             exit
../../../../../src/emu/devcb.h:546:82: error: 'mask' was not declared in this scope
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                                                                  ^~~~
../../../../../src/emu/devcb.h:546:82: note: suggested alternative: 'mask_t'
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                                                                  ^~~~
                                                                                  mask_t
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::functoid_builder<Func>::build(T&&)':
../../../../../src/emu/devcb.h:601:7: error: 'cb' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
       ^~
../../../../../src/emu/devcb.h:601:7: note: suggested alternative: 'm_cb'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
       ^~
       m_cb
../../../../../src/emu/devcb.h:601:35: error: 'exor' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                   ^~~~
../../../../../src/emu/devcb.h:601:35: note: suggested alternative: 'exit'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                   ^~~~
                                   exit
../../../../../src/emu/devcb.h:601:56: error: 'mask' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                                        ^~~~
../../../../../src/emu/devcb.h:601:56: note: suggested alternative: 'mask_t'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                                        ^~~~
                                                        mask_t
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::delegate_builder<Delegate>::build(T&&)':
../../../../../src/emu/devcb.h:667:7: error: 'cb' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
       ^~
../../../../../src/emu/devcb.h:667:41: error: 'exor' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                         ^~~~
../../../../../src/emu/devcb.h:667:41: note: suggested alternative: 'exit'
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                         ^~~~
                                         exit
../../../../../src/emu/devcb.h:667:62: error: 'mask' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                                              ^~~~
../../../../../src/emu/devcb.h:667:62: note: suggested alternative: 'mask_t'
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                                              ^~~~
                                                              mask_t
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::ioport_builder::build(T&&)':
../../../../../src/emu/devcb.h:724:8: error: 'port' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:724:8: note: suggested alternative: 'qsort'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
        ^~~~
        qsort
../../../../../src/emu/devcb.h:724:24: error: 'exor' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                        ^~~~
../../../../../src/emu/devcb.h:724:24: note: suggested alternative: 'exit'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                        ^~~~
                        exit
../../../../../src/emu/devcb.h:724:45: error: 'mask' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                             ^~~~
../../../../../src/emu/devcb.h:724:45: note: suggested alternative: 'mask_t'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                             ^~~~
                                             mask_t
../../../../../src/emu/devcb.h: In member function 'virtual devcb_write<Input, DefaultMask>::func_t devcb_write<Input, DefaultMask>::creator_impl<T>::create()':
../../../../../src/emu/devcb.h:1018:12: error: 'cb' was not declared in this scope
    return [cb = m_builder.build()] (address_space &space, offs_t offset, Input data, std::make_unsigned_t<Input> mem_mask) { cb(space, offset, data, mem_mask); };
            ^~
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::transform_builder<Source, Func>::build()':
../../../../../src/emu/devcb.h:1119:7: error: 'cb' was not declared in this scope
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
       ^~
../../../../../src/emu/devcb.h:1119:7: note: suggested alternative: 'm_cb'
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
       ^~
       m_cb
../../../../../src/emu/devcb.h:1119:29: error: 'exor' was not declared in this scope
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                             ^~~~
../../../../../src/emu/devcb.h:1119:29: note: suggested alternative: 'exit'
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                             ^~~~
                             exit
../../../../../src/emu/devcb.h:1119:50: error: 'mask' was not declared in this scope
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                  ^~~~
../../../../../src/emu/devcb.h:1119:50: note: suggested alternative: 'mask_t'
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                  ^~~~
                                                  mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::transform_builder<Source, Func>::build(T&&)':
../../../../../src/emu/devcb.h:1140:7: error: 'f' was not declared in this scope
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
       ^
../../../../../src/emu/devcb.h:1140:29: error: 'cb' was not declared in this scope
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                             ^~
../../../../../src/emu/devcb.h:1140:29: note: suggested alternative: 'm_cb'
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                             ^~
                             m_cb
../../../../../src/emu/devcb.h:1140:57: error: 'exor' was not declared in this scope
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                         ^~~~
../../../../../src/emu/devcb.h:1140:57: note: suggested alternative: 'exit'
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                         ^~~~
                                                         exit
../../../../../src/emu/devcb.h:1140:78: error: 'mask' was not declared in this scope
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                                              ^~~~
../../../../../src/emu/devcb.h:1140:78: note: suggested alternative: 'mask_t'
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                                              ^~~~
                                                                              mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::first_transform_builder<Sink, Func>::build()':
../../../../../src/emu/devcb.h:1200:7: error: 'sink' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~~~
../../../../../src/emu/devcb.h:1200:7: note: suggested alternative: 'Sink'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~~~
       Sink
../../../../../src/emu/devcb.h:1200:30: error: 'cb' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                              ^~
../../../../../src/emu/devcb.h:1200:30: note: suggested alternative: 'm_cb'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                              ^~
                              m_cb
../../../../../src/emu/devcb.h:1200:58: error: 'in_exor' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                          ^~~~~~~
../../../../../src/emu/devcb.h:1200:58: note: suggested alternative: 'm_in_exor'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                          ^~~~~~~
                                                          m_in_exor
../../../../../src/emu/devcb.h:1200:79: error: 'in_mask' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                               ^~~~~~~
../../../../../src/emu/devcb.h:1200:79: note: suggested alternative: 'm_in_mask'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                               ^~~~~~~
                                                                               m_in_mask
../../../../../src/emu/devcb.h:1200:100: error: 'exor' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                    ^~~~
../../../../../src/emu/devcb.h:1200:100: note: suggested alternative: 'exit'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                    ^~~~
                                                                                                    exit
../../../../../src/emu/devcb.h:1200:121: error: 'mask' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                         ^~~~
../../../../../src/emu/devcb.h:1200:121: note: suggested alternative: 'mask_t'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                         ^~~~
                                                                                                                         mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::first_transform_builder<Sink, Func>::build(T&&)':
../../../../../src/emu/devcb.h:1221:7: error: 'f' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^
../../../../../src/emu/devcb.h:1221:29: error: 'sink' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                             ^~~~
../../../../../src/emu/devcb.h:1221:29: note: suggested alternative: 'Sink'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                             ^~~~
                             Sink
../../../../../src/emu/devcb.h:1221:52: error: 'cb' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                    ^~
../../../../../src/emu/devcb.h:1221:52: note: suggested alternative: 'm_cb'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                    ^~
                                                    m_cb
../../../../../src/emu/devcb.h:1221:80: error: 'in_exor' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                ^~~~~~~
../../../../../src/emu/devcb.h:1221:80: note: suggested alternative: 'm_in_exor'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                ^~~~~~~
                                                                                m_in_exor
../../../../../src/emu/devcb.h:1221:101: error: 'in_mask' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                     ^~~~~~~
../../../../../src/emu/devcb.h:1221:101: note: suggested alternative: 'm_in_mask'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                     ^~~~~~~
                                                                                                     m_in_mask
../../../../../src/emu/devcb.h:1221:122: error: 'exor' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                          ^~~~
../../../../../src/emu/devcb.h:1221:122: note: suggested alternative: 'exit'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                          ^~~~
                                                                                                                          exit
../../../../../src/emu/devcb.h:1221:143: error: 'mask' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                                               ^~~~
../../../../../src/emu/devcb.h:1221:143: note: suggested alternative: 'mask_t'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                                               ^~~~
                                                                                                                                               mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::functoid_builder<Func>::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1258:8: error: 'cb' was not declared in this scope
       [cb = std::move(this->m_cb)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~
../../../../../src/emu/devcb.h:1258:8: note: suggested alternative: 'm_cb'
       [cb = std::move(this->m_cb)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~
        m_cb
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::functoid_builder<Func>::build()':
../../../../../src/emu/devcb.h:1308:7: error: 'cb' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~
../../../../../src/emu/devcb.h:1308:7: note: suggested alternative: 'm_cb'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~
       m_cb
../../../../../src/emu/devcb.h:1308:35: error: 'exor' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                   ^~~~
../../../../../src/emu/devcb.h:1308:35: note: suggested alternative: 'exit'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                   ^~~~
                                   exit
../../../../../src/emu/devcb.h:1308:56: error: 'mask' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                        ^~~~
../../../../../src/emu/devcb.h:1308:56: note: suggested alternative: 'mask_t'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                        ^~~~
                                                        mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::delegate_builder<Delegate>::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1352:8: error: 'cb' was not declared in this scope
       [cb = std::move(this->m_delegate)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::delegate_builder<Delegate>::build()':
../../../../../src/emu/devcb.h:1418:7: error: 'cb' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~
../../../../../src/emu/devcb.h:1418:41: error: 'exor' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                         ^~~~
../../../../../src/emu/devcb.h:1418:41: note: suggested alternative: 'exit'
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                         ^~~~
                                         exit
../../../../../src/emu/devcb.h:1418:62: error: 'mask' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                              ^~~~
../../../../../src/emu/devcb.h:1418:62: note: suggested alternative: 'mask_t'
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                              ^~~~
                                                              mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::inputline_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1480:9: error: 'exec' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
../../../../../src/emu/devcb.h:1480:9: note: suggested alternative: 'm_exec'
       [&exec = *m_exec, linenum = m_linenum] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
         m_exec
../../../../../src/emu/devcb.h:1480:25: error: 'linenum' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~~~~
../../../../../src/emu/devcb.h:1480:25: note: suggested alternative: 'm_linenum'
       [&exec = *m_exec, linenum = m_linenum] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~~~~
                         m_linenum
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::inputline_builder::build()':
../../../../../src/emu/devcb.h:1571:8: error: 'exec' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:1571:8: note: suggested alternative: 'm_exec'
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
        m_exec
../../../../../src/emu/devcb.h:1571:24: error: 'linenum' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~~~~
../../../../../src/emu/devcb.h:1571:24: note: suggested alternative: 'm_linenum'
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~~~~
                        m_linenum
../../../../../src/emu/devcb.h:1571:45: error: 'exor' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~
../../../../../src/emu/devcb.h:1571:45: note: suggested alternative: 'exit'
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~
                                             exit
../../../../../src/emu/devcb.h:1571:66: error: 'mask' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                  ^~~~
../../../../../src/emu/devcb.h:1571:66: note: suggested alternative: 'mask_t'
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                  ^~~~
                                                                  mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::latched_inputline_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1635:9: error: 'exec' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
../../../../../src/emu/devcb.h:1635:9: note: suggested alternative: 'm_exec'
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
         m_exec
../../../../../src/emu/devcb.h:1635:25: error: 'linenum' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~~~~
../../../../../src/emu/devcb.h:1635:25: note: suggested alternative: 'm_linenum'
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~~~~
                         m_linenum
../../../../../src/emu/devcb.h:1635:46: error: 'value' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                              ^~~~~
../../../../../src/emu/devcb.h:1635:46: note: suggested alternative: 'm_value'
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                              ^~~~~
                                              m_value
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::latched_inputline_builder::build()':
../../../../../src/emu/devcb.h:1730:8: error: 'exec' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:1730:8: note: suggested alternative: 'm_exec'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
        m_exec
../../../../../src/emu/devcb.h:1730:24: error: 'linenum' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~~~~
../../../../../src/emu/devcb.h:1730:24: note: suggested alternative: 'm_linenum'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~~~~
                        m_linenum
../../../../../src/emu/devcb.h:1730:45: error: 'value' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~~
../../../../../src/emu/devcb.h:1730:45: note: suggested alternative: 'm_value'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~~
                                             m_value
../../../../../src/emu/devcb.h:1730:62: error: 'exor' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                              ^~~~
../../../../../src/emu/devcb.h:1730:62: note: suggested alternative: 'exit'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                              ^~~~
                                                              exit
../../../../../src/emu/devcb.h:1730:83: error: 'mask' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                   ^~~~
../../../../../src/emu/devcb.h:1730:83: note: suggested alternative: 'mask_t'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                   ^~~~
                                                                                   mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::ioport_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1772:9: error: 'port' was not declared in this scope
       [&port = *ioport] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
../../../../../src/emu/devcb.h:1772:9: note: suggested alternative: 'qsort'
       [&port = *ioport] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
         qsort
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::ioport_builder::build()':
../../../../../src/emu/devcb.h:1830:8: error: 'port' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:1830:8: note: suggested alternative: 'qsort'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
        qsort
../../../../../src/emu/devcb.h:1830:24: error: 'exor' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~
../../../../../src/emu/devcb.h:1830:24: note: suggested alternative: 'exit'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~
                        exit
../../../../../src/emu/devcb.h:1830:45: error: 'mask' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~
../../../../../src/emu/devcb.h:1830:45: note: suggested alternative: 'mask_t'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~
                                             mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::membank_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1872:9: error: 'membank' was not declared in this scope
       [&membank = *bank] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~~~~
../../../../../src/emu/devcb.h:1872:9: note: suggested alternative: 'bank'
       [&membank = *bank] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~~~~
         bank
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::membank_builder::build()':
../../../../../src/emu/devcb.h:1930:8: error: 'membank' was not declared in this scope
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~~~~
../../../../../src/emu/devcb.h:1930:8: note: suggested alternative: 'bank'
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~~~~
        bank
../../../../../src/emu/devcb.h:1930:25: error: 'exor' was not declared in this scope
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~
../../../../../src/emu/devcb.h:1930:25: note: suggested alternative: 'exit'
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~
                         exit
../../../../../src/emu/devcb.h:1930:46: error: 'mask' was not declared in this scope
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                              ^~~~
../../../../../src/emu/devcb.h:1930:46: note: suggested alternative: 'mask_t'
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                              ^~~~
                                              mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::output_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1969:9: error: 'item' was not declared in this scope
       [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
../../../../../src/emu/devcb.h:1969:9: note: suggested alternative: 'tm'
       [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
         tm
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::output_builder::build()':
../../../../../src/emu/devcb.h:2024:8: error: 'item' was not declared in this scope
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:2024:8: note: suggested alternative: 'tm'
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
        tm
../../../../../src/emu/devcb.h:2024:83: error: 'exor' was not declared in this scope
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                   ^~~~
../../../../../src/emu/devcb.h:2024:83: note: suggested alternative: 'exit'
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                   ^~~~
                                                                                   exit
../../../../../src/emu/devcb.h:2024:104: error: 'mask' was not declared in this scope
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                        ^~~~
../../../../../src/emu/devcb.h:2024:104: note: suggested alternative: 'mask_t'
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                        ^~~~
                                                                                                        mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::log_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:2063:9: error: 'devbase' was not declared in this scope
       [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~~~~
../../../../../src/emu/devcb.h:2063:9: note: suggested alternative: 'm_devbase'
       [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~~~~
         m_devbase
../../../../../src/emu/devcb.h:2063:30: error: 'message' was not declared in this scope
       [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                              ^~~~~~~
../../../../../src/emu/devcb.h:2063:30: note: suggested alternative: 'm_message'
       [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                              ^~~~~~~
                              m_message
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::log_builder::build()':
../../../../../src/emu/devcb.h:2118:8: error: 'devbase' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~~~~
../../../../../src/emu/devcb.h:2118:8: note: suggested alternative: 'm_devbase'
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~~~~
        m_devbase
../../../../../src/emu/devcb.h:2118:29: error: 'message' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                             ^~~~~~~
../../../../../src/emu/devcb.h:2118:29: note: suggested alternative: 'm_message'
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                             ^~~~~~~
                             m_message
../../../../../src/emu/devcb.h:2118:61: error: 'exor' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                             ^~~~
../../../../../src/emu/devcb.h:2118:61: note: suggested alternative: 'exit'
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                             ^~~~
                                                             exit
../../../../../src/emu/devcb.h:2118:82: error: 'mask' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                  ^~~~
../../../../../src/emu/devcb.h:2118:82: note: suggested alternative: 'mask_t'
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                  ^~~~
                                                                                  mask_t
make[2]: *** [../../../../osx_clang/obj/x32/Release/osd_sdl/src/osd/modules/debugger/debugosx.o] Error 1
make[1]: *** [osd_sdl] Error 2
make[1]: *** Waiting for unfinished jobs....

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117031 03/15/20 12:33 AM
Joined: Feb 2004
Posts: 2,133
Vas Crabb Offline
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,133
GCC is getting confused by lambda syntax in Objective-C++ there. It thinks the square bracket introducing the lambda is the start of a method invocation. I don’t know what to do about that. You can hack out the debugger with some strategic #ifdef, but that’s not officially supported.

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117034 03/15/20 12:19 PM
Joined: Mar 2001
Posts: 16,473
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,473
A newer GCC would help (do MacPorts/Brew still support PPC?)

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117042 03/15/20 11:21 PM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
MacPorts has still support for PPC OSX but not everything is aligned with x86/x64 versions of their ports, the maximum GCC version for OSX/PPC is 7.5 and Clang is on hold at 3.4 , I think we hardly will see significat upates other than bugfixes. At present I have encouraged the LeopardPorts mantainer to push SDL 2.0.5 to be usable also on PPC builds, I don't know if this is feasible but 2.0.3 is perfectly working here.
About SDLmame, for me, it would be at least helpful to can exclude the debugger part from compile but I have no idea if simply commenting the lines in the script break something elsewhere, a suggestion here would be appriciated because when you compile on PPC machines, it often requires DAYS before to see a result. At present, to have some results in reasonable time, I have simply instructed the makefile to build the NeoGeo sources only, if it will produce something usable I will extend the build to all the other sources (and I will of course upload the binary to be downloaded from everyone).

Last edited by MacBox360; 03/15/20 11:22 PM.
Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117050 03/17/20 11:46 PM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
Well, here are the modifications I have done so far at 0.219 sources in my attempts to have an OSX PPC executable (still not build succefully)

Makefile mods (many libraries were already here from MacPorts)

Code
NOWERROR = 1
USE_SYSTEM_LIB_ASIO = 1
USE_SYSTEM_LIB_EXPAT = 1
USE_SYSTEM_LIB_ZLIB = 1
USE_SYSTEM_LIB_JPEG = 1
USE_SYSTEM_LIB_FLAC = 1
USE_SYSTEM_LIB_LUA = 1
USE_SYSTEM_LIB_SQLITE3 = 1
USE_SYSTEM_LIB_PORTMIDI = 1
USE_SYSTEM_LIB_PORTAUDIO = 1
USE_SYSTEM_LIB_UTF8PROC = 1
USE_SYSTEM_LIB_PUGIXML = 1
OVERRIDE_CC = gcc-mp-7
OVERRIDE_CXX = g++-mp-7
SOURCES = src/mame/drivers/neogeo.cpp


BX switches modifications:

Code
3rdparty/bx/include/bx/platform.h --->   #define BX_CRT_GLIBC  1

3rdparty/bx/include/bx/config.h --->   #	define BX_CONFIG_SUPPORTS_THREADING !(1 \

3rdparty/bx/3drparty/catch/catch.hpp ---> at line 71 replace TARGET_OS_OSX with TARGET_OS_MAC


BGFX switches modifications:

Code
3rdparty/bgfx/3rdparty/khronos/gl/glext.h --> delete (or comment) lines 469 and 470

3rdparty/bgfx/3rdparty/dear-imgui/imgui.cpp --> delete (or comment) lines 8903 and 8904

3rdparty/bgfx/3rdparty/dear-imgui/imgui.cpp --> at line 9484 replace TARGET_OS_OSX with TARGET_OS_MAC


SCRIPTS modifications:

Code
script/src/osd/sdl.lua ---> delete the following part:

if _OPTIONS["targetos"]=="macosx" then
		files {
			MAME_DIR .. "src/osd/modules/debugger/debugosx.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/breakpointsview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/breakpointsview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/consoleview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/consoleview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugcommandhistory.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugcommandhistory.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugconsole.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugconsole.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugwindowhandler.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugwindowhandler.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/deviceinfoviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/deviceinfoviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/devicesviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/devicesviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/errorlogview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/errorlogview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/errorlogviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/errorlogviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/memoryview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/memoryview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/memoryviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/memoryviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/pointsviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/pointsviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/registersview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/registersview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugosx.h",
		}
	end


SOURCE modifications:

Code
In all the following drivers (and in them only) I had to multiplicate by 1000 the clocks and then modify the units from MHz to kHz

src/mame/drivers/akkaarrh.cpp ---> static constexpr XTAL MASTER_CLOCK = 12096_kHz_XTAL;

src/mame/drivers/firetrk.cpp ---> static constexpr XTAL MASTER_CLOCK = 12096_kHz_XTAL;

src/mame/drivers/flyball.cpp ---> static constexpr XTAL MASTER_CLOCK  = 12096_kHz_XTAL;

src/mame/drivers/quantum.cpp ---> static constexpr XTAL MASTER_CLOCK = 12096_kHz_XTAL;

src/mame/drivers/quizshow.cpp ---> static constexpr XTAL MASTER_CLOCK  = 12096_kHz_XTAL;

src/mame/drivers/sbrkout.cpp ---> static constexpr XTAL MAIN_CLOCK    = 12096_kHz_XTAL;

src/mame/drivers/tempest.cpp ---> static constexpr XTAL MASTER_CLOCK = 12096_kHz_XTAL;

src/mame/drivers/fp200.cpp ---> static constexpr XTAL MAIN_CLOCK = 6144_kHz_XTAL;

src/mame/drivers/x1.cpp ---> constexpr XTAL VDP_CLOCK    = 42954'545_kHz_XTAL;

src/mame/drivers/osborne1.cpp ---> static constexpr XTAL MAIN_CLOCK = 15974_kHz_XTAL;

src/mame/drivers/zaxxon.cpp ---> static constexpr XTAL MASTER_CLOCK  = 48660_kHz_XTAL;

src/mame/includes/galaxian.h ----> static constexpr XTAL KONAMI_SOUND_CLOCK(14318_kHz_XTAL);


After that the compile went fine until this well know and infamous error:

Code
Compiling src/osd/modules/lib/osdlib_macosx.cpp...
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32:0,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20,
                 from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20,
                 from ../../../../../src/osd/modules/lib/osdlib_macosx.cpp:25:
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:115:4: error: 'vector' does not name a type; did you mean '__vector'?
    vector unsigned int         v;
    ^~~~~~
    __vector
make[2]: *** [../../../../osx_clang/obj/x32/Release/ocore_sdl/src/osd/modules/lib/osdlib_macosx.o] Error 1
make[1]: *** [ocore_sdl] Error 2
make: *** [macosx_x86] Error 2

Compiling src/osd/modules/font/font_osx.cpp...
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32:0,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20,
                 from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from /System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:20,
                 from ../../../../../src/osd/modules/font/font_osx.cpp:16:
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:115:4: error: 'vector' does not name a type; did you mean '__vector'?
    vector unsigned int         v;
    ^~~~~~
    __vector
make[2]: *** [../../../../osx_clang/obj/x32/Release/osd_sdl/src/osd/modules/font/font_osx.o] Error 1
make[1]: *** [osd_sdl] Error 2
make[1]: *** Waiting for unfinished jobs....


Are there some other mods I need to do to overcome this issue?

Last edited by MacBox360; 03/18/20 01:37 AM.
Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117051 03/18/20 01:52 AM
Joined: Feb 2004
Posts: 2,133
Vas Crabb Offline
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,133
C++ and Altivec C extensions are incompatible because Altivec C extensions make "vector" a qualifier keyword. GCC supports using "__vector" instead to work around this which we use in MAME itself. It's a bit harder to deal with if the system headers are doing it.

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117052 03/18/20 02:28 AM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
Thank you! I have just disabled the vector definition in MachineExceptions.h (I will re-enable it once the build finished) and the error is gone! :-) Now let's hope everything will go ahead to the end until further errors. Crossing my fingers...

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117053 03/18/20 04:08 AM
Joined: Feb 2004
Posts: 2,133
Vas Crabb Offline
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,133
Editing a system header file could cause all kinds of breakage. You're very much on your own with this. Removing the "vector" keyword there will change the structure layout, which will break ABI compatibility.

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117054 03/18/20 06:52 AM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
So far, the compile didn't go well but I am quite confident to be on the right way. The linker failed to put everything together due to some missing reference between sources, from what I've seen I must review the way I have instructed BX/BGFX to skip the error and the debugger truncation, I will try to make it working instead of cut away the code. A last question: if I replace all the "vector" occurrences in MAME source with "__vector" may I fix at least the "does not name a type" error? In the meantime I have restored the MachineExceptions.h vector declaration

Last edited by MacBox360; 03/18/20 06:54 AM.
Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117069 03/20/20 08:34 PM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
Well, I have almost fixed all the compile errors but the linker fails miserably, here is the error:

Code
final section layout:
    __TEXT/__text addr=0x000024C4, size=0x017F6554, fileOffset=0x000014C4, type=1
    __TEXT/__text_cold addr=0x017F8A18, size=0x00020840, fileOffset=0x017F7A18, type=1
    __TEXT/__text_startup addr=0x01819258, size=0x0001BED4, fileOffset=0x01818258, type=1
    __TEXT/__text_cold_coal addr=0x0183512C, size=0x00000EE4, fileOffset=0x0183412C, type=1
    __TEXT/__symbol_stub1 addr=0x01836010, size=0x0004D1B0, fileOffset=0x01835010, type=27
    __TEXT/__cstring addr=0x018831C0, size=0x0006A8CE, fileOffset=0x018821C0, type=12
    __TEXT/__const addr=0x018EDA90, size=0x00158FB5, fileOffset=0x018ECA90, type=0
    __TEXT/__info_plist addr=0x01A46A45, size=0x00000223, fileOffset=0x01A45A45, type=0
    __TEXT/__eh_frame addr=0x01A46C68, size=0x0055A394, fileOffset=0x01A45C68, type=18
    __DATA/__dyld addr=0x01FA1000, size=0x0000001C, fileOffset=0x01FA0000, type=29
    __DATA/__nl_symbol_ptr addr=0x01FA101C, size=0x00008AB0, fileOffset=0x01FA001C, type=28
    __DATA/__la_symbol_ptr addr=0x01FA9ACC, size=0x0001346C, fileOffset=0x01FA8ACC, type=26
    __DATA/__mod_init_func addr=0x01FBCF38, size=0x0000047C, fileOffset=0x01FBBF38, type=32
    __DATA/__data addr=0x01FBD3B8, size=0x0001B128, fileOffset=0x01FBC3B8, type=0
    __DATA/__static_data addr=0x01FD84E0, size=0x0000010F, fileOffset=0x01FD74E0, type=0
    __DATA/__const addr=0x01FD85F0, size=0x000D2530, fileOffset=0x01FD75F0, type=0
    __DATA/__gcc_except_tab addr=0x020AAB20, size=0x000FC305, fileOffset=0x020A9B20, type=0
    __DATA/__cfstring addr=0x021A6E28, size=0x00000090, fileOffset=0x021A5E28, type=16
    __DATA/__bss0 addr=0x021A6EB8, size=0x000108F0, fileOffset=0x00000000, type=24
    __DATA/__pu_bss0 addr=0x021B77A8, size=0x00080000, fileOffset=0x00000000, type=24
    __DATA/__pu_bss4 addr=0x022377B0, size=0x00100014, fileOffset=0x00000000, type=24
    __DATA/__bss3 addr=0x023377C8, size=0x00000598, fileOffset=0x00000000, type=24
    __DATA/__bss4 addr=0x02337D60, size=0x0000A410, fileOffset=0x00000000, type=24
    __DATA/__pu_bss3 addr=0x02342170, size=0x00000020, fileOffset=0x00000000, type=24
    __DATA/__pu_bss2 addr=0x02342190, size=0x000012E8, fileOffset=0x00000000, type=24
    __DATA/__common addr=0x02343478, size=0x0000240C, fileOffset=0x00000000, type=24
    __DATA/__bss1 addr=0x02345884, size=0x000045A0, fileOffset=0x00000000, type=24
    __DATA/__bss2 addr=0x02349E24, size=0x00075650, fileOffset=0x00000000, type=24
    __OBJC/__module_info addr=0x023C0000, size=0x00000120, fileOffset=0x021A6000, type=0
    __OBJC/__message_refs addr=0x023C0120, size=0x00000048, fileOffset=0x021A6120, type=14
    __OBJC/__cls_refs addr=0x023C0168, size=0x00000014, fileOffset=0x021A6168, type=14
    __OBJC/__image_info addr=0x023C017C, size=0x00000008, fileOffset=0x021A617C, type=0
ld: bl PPC branch out of range (25310156 max is +/-16MB): from start (0x000024C4) to _main (0x018258D0) in start from /usr/lib/crt1.10.5.o for architecture ppc
collect2: error: ld returned 1 exit status
make[2]: *** [../../../../../mame] Error 1
make[1]: *** [mame] Error 2
make: *** [macosx_x86] Error 2


I must admit it was an interesting challenge, I have learned a lot looking inside the MAME sources and browsing a lot the web. Not everything is clear (I have no knowledge about this kind of language) but I start to see the structure and rules behind the build process and this was extremely useful in planning the modifications to try.
I will do more experiments in the next days... :-)

Page 1 of 2 1 2

Moderated by  R. Belmont 

Who's Online Now
0 registered members (), 71 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,764
Posts115,179
Members4,889
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3